Welcome 微信登录

首页 / 移动开发 / IOS

iOS中视频播放器的简单封装详解

iOS中视频播放器的简单封装详解

前言如果仅仅是播放视频两者的使用都非常简单,但是相比MediaPlayer,AVPlayer对于视频播放的可控制性更强一些,可以通过自定义的一些控件来实现视频的播放暂停等等。因此这里使用AVPlayer的视频播放。视频播放器布局首先使用xib创建CLAVPlayerView继承UIView用来承载播放器,这样我们在外部使用的时候,直接在控制器View或者Cell上添加CLAVPlayerView即可,至于播放器播放或者暂停等操作交给CLAVPlayerVi...
iOS开发之表视图详解

iOS开发之表视图详解

本文详细介绍了表视图的用法。具体如下:概述表视图组成表视图是iOS开发中最重要的视图,它以列表的形式展示数据。表视图又一下部分组成:表头视图:表视图最上边的视图表脚视图:表视图最下边的视图单元格(cell):表视图中每一行的视图节(section):由多个单元格组成,应用于分组列表节头节脚表视图的相关类UITableView继承自UIScrollView,且有两个协议:UITableViewDelegate和UITableViewDataSource。此外...
如何自定义iOS通讯录

如何自定义iOS通讯录

苹果给用户提供了自己的通讯录,但是根据业务的需求,需要自定义通讯录,我们就需要根据业务需求来自定义。 首先我们需要知道苹果的提供的一些Foundation、UIKit框架,了解其中的一些特性,可以打开手机查看苹果系统提供的原生的通讯录,可以看到:1.搜索框 2.右侧搜索条 3.联系人分组4.添加联系人 5.获取联系人头像及联系方式 根据需求,可以总结出自定义通讯录需要做的一些功能,一项大的功能可以差分成一些小的功能,然后一个一个实现,将复杂的问题差分成小问...
Android开发笔记之简单基站定位程序的实现

Android开发笔记之简单基站定位程序的实现

经过学习,已经对Android程序的开发流程有了个大体的了解,为了提高我们的学习兴趣,在这一节我们将编写一个简单的基站定位程序。现在LBS(Location Based Service,基于位置的服务)移动应用相当流行(如:微信,切客,嘀咕,街旁等),基站定位是这类程序用到的关键性技术之一,我们来揭开它的神秘面纱吧。在这一节里,我们会接触到事件、TelephonyManager、HTTP通信、JSON的使用等知识点。在Android操作系统下,基站定位其实...
iOS10 Xcode8开发适配问题及解决方案

iOS10 Xcode8开发适配问题及解决方案

前段时间升级了Xcode8,整体来说对OC的影响不大,但是还是跳一个坑,消耗了不少时间。这里总结下遇到的适配问题。1、权限问题 Xcode8 访问相机、相册等需要权限的地方崩溃 解决办法: 在使用私有权限时,添加Info.plist文件中添加配置:下面是各种key,需要哪个添哪个 NSBluetoothPeripheralUsageDescription NSCalendarsUsageDescription NSCameraUsageDesc...
ios开发:一个音乐播放器的设计与实现案例

ios开发:一个音乐播放器的设计与实现案例

这个Demo,关于歌曲播放的主要功能都实现了的。下一曲、上一曲,暂停,根据歌曲的播放进度动态滚动歌词,将当前正在播放的歌词放大显示,拖动进度条,歌曲跟着变化,并且使用Time Profiler进行了优化,还使用XCTest对几个主要的类进行了单元测试。已经经过真机调试,在真机上可以后台播放音乐,并且锁屏时,显示一些主要的歌曲信息。根据歌曲的播放来显示对应歌词的。用UITableView来显示歌词,可以手动滚动界面查看后面或者前面的歌词。并且,当拖动进度条,...
iOS开发网络篇—实现大文件的多线程断点下载

iOS开发网络篇—实现大文件的多线程断点下载

说明:本文介绍多线程断点下载。项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件。因为实现过程较为复杂,所以下面贴出完整的代码。实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分)。项目中用到的主要类如下:完成的实现代码如下:主控制器中的代码:#import "YYViewController....
IOS 指纹识别详解及实例代码

IOS 指纹识别详解及实例代码

IOS 指纹识别,这里整理下项目中用的知识。IOS 指纹识别现在,在要求安全与效率兼得的时候,普通密码已不能满足我们的要求,指纹识别就这样诞生了。每个人都有自己专属的指纹,在需要支付等输入密码的地方,我们只需轻轻一按即可,避免了输入密码的繁琐步骤,更加安全,而且妈妈再也不用担心我们忘记密码。其实,听着高大上,实现起来特别简单,因为苹果已经帮我们封装好了,我们只需要简单的调用就好了。1、首先,我们需要导入头文件:#import <LocalAuthen...
iOS10 适配-Xcode8问题总结及解决方案

iOS10 适配-Xcode8问题总结及解决方案

iOS10 适配-Xcode8 问题解决: IOS开发者,系统版本的更新,必定要跟着更新,不然有些功能不知道,开发的时候对可以体验,大打折扣了。前段时间升级了Xcode8,整体来说对OC的影响不大,但是还是跳一个坑,消耗了不少时间。这里总结下遇到的适配问题。1、权限问题 Xcode8 访问相机、相册等需要权限的地方崩溃 解决办法: 在使用私有权限时,添加Info.plist文件中添加配置:下面是各种key,需要哪个添哪个 NSBluetoothPe...
IOS 贝塞尔曲线(UIBezierPath)属性、方法整理

IOS 贝塞尔曲线(UIBezierPath)属性、方法整理

IOS 贝塞尔曲线详解 开发IOS的朋友都知道IOS 贝塞尔曲线的重要性,由于经常会用到这样的东西,索性抽时间就把相应所有的属性,方法做一个总结。UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用。UIBezierPath的属性介绍:1.CGPath:将UIBez...
iOS-GCD详解及简单使用

iOS-GCD详解及简单使用

iOS-GCD 介绍在开发过程中,我们有时会希望把一些操作封装起来延迟一段时间后再执行。iOS开发中,有两种常用的方法可以实现延迟执行,一种是使用GCD,另外一种是使用NSRunLoop类中提供的方法。前言对初学者来说,GCD似乎是一道迈不过去的坎,很多人在同步、异步、串行、并行和死锁这几个名词的漩涡中渐渐放弃治疗。本文将使用图文表并茂的方式给大家形象地解释其中的原理和规律。线程、任务和队列的概念异步、同步 & 并行、串行的特点一条重要的准则一般来说,我们...
iOSMask属性的详细介绍及应用实例

iOSMask属性的详细介绍及应用实例

前言:在开发过程中,类似android和其他平台的UI开发方法,需要通过一个mask图显示部分UI或者Icon资源。ios的控件自带alpha的值,但是这个值都是整个icon或者UI的透明效果,不能做到自定义的透明或者镂空效果。我们必须借助于mask资源图。Mask属性介绍Mask平时用的最多的是masksToBounds 吧. 其实除此以外Mask使用场景很多,看完之后你会发现好真是好用的不要不要的...先来了解下Mask属性到底是什么?Mask...
iOS开发 widget构建详解及实现代码

iOS开发 widget构建详解及实现代码

iOS开发之widget实现前言    iOS extension的出现,方便了用户查看应用的服务,比如用户可以在Today的widgets中查看应用的简略信息,然后点击进入相关的应用界面。暂且不表网络上现有的widget文章,本篇文章主要说明本人具体实现widget的步骤,希望能够帮助到需要实现widget的同行朋友。图1 Today的widget展示----以支付宝为例说明文章将依次从以下几个问题着手,进...
iOS开发UI篇—xib的简单使用实例

iOS开发UI篇—xib的简单使用实例

这个博客申请了有一段时间了,觉得好像是该写点什么了。这篇文章主要是关于一些xib的简单的用法,希望可以帮助到刚刚使用xib的新手们。什么是xib? xib能做什么?用来描述软件界面的文件。如果没有xib,所有的界面都需要通过代码来手动创建。有了xib以后,可以在xib中进行可视化开发,然后加载xib文件的时候,系统自动生成对应的代码来创建界面。与xib类似的还有storyboard文件。xib和storyboard的比较,一个轻量级一个重量...
iOS的客户端菜单功能仿百度糯米/美团二级菜单

iOS的客户端菜单功能仿百度糯米/美团二级菜单

我刚好最近在开发一个商城项目,实现了一个简单的控件,就和大家一起分享一下。控件的效果就是类似百度糯米或者美团的二级菜单,我开发iOS的客户端菜单功能,直接参考了git一个项目,对应的UI效果:其实效果看起来还不错。iOS开发完成以后,又要准备开发Android,发现对应网上的案例还是很少的,或者不是想要的效果。我想参考了别人的项目代码,也为开源项目做点贡献,准备自己开发一个Android的menu项目;折腾了大概三个小时,终于搞定了,效果如下:从图片不难看...
<< 11 12 13 14 15 16 17 18 19 20 >>