iOS
文章平均质量分 56
一步一迹
缘,随风而至,风起,共舞!
展开
-
iOS的计步实现
关于ios的计步是要区分版本的,iOS7以下,iOS7,iOS8和之上是要区分的。关于iOS8和之上是采用CMPedometer的,要先判断是否有计步器可用:[CMPedometerisStepCountingAvailable] 看代码if (IOS8) { if ([CMPedometerisStepCount原创 2016-02-18 17:21:39 · 1291 阅读 · 0 评论 -
iOS后台下载图片并实现本地通知(Swift)
有的时候我们需要APP进入后台后能够自动下载更新一些东西所以这里就说下iOS程序的后台下载任务,前面的博客说过要想进行后太任物就要在plist文件中进行注册,这里注册Required background modes选项,值是App downloads content from the network。当然了你如果不想注册还有个方法就是在Capabilities选项栏下开启Background Mo原创 2016-07-27 16:16:43 · 1220 阅读 · 0 评论 -
iOS重力行为、碰撞行为和吸附(Swift)
iOS有模仿物理环境的动态动画,今天就简单的给视图添加重力效果和碰撞效果首先使用一个参考视图也可以理解为背景视图创建自动动画:dynamicAnimator = UIDynamicAnimator(referenceView: self.view)并且我们创建两个一大一小的视图: var dynamicAnimator = UIDynamicAnimator() var litter原创 2016-08-16 15:45:20 · 2611 阅读 · 1 评论 -
iOS生成二维码(中间包含图片),长按识别二维码(Swift)
在iOS中有个类CIFilter,通过这个类可以创建各种特定的过滤器,今天我们主要介绍一种二维码发生器(CIQRCodeGenerator)滤镜,通过这个滤镜可以自动生成我们需要的二维码。首先我们要创建一个二维码滤镜: //创建二维码滤镜 let qrCIFilter = CIFilter(name: "CIQRCodeGenerator")注意,这原创 2016-08-17 18:01:00 · 2908 阅读 · 0 评论 -
OC 动态库的调用包括动态设置属性值,调用方法,设置代理实现代理方法
最近做了个动态更新模块的功能,是使用动态库来完成的。因为要求动态更新所以就不方便引入头文件了这里就只好采用动态调用动态库的方法了。具体包含以下几个方面:创建对象并设置属性值,调用对象的方法这个方法包括类方法(静态方法)和对象方法,设置对象的代理并实现代理方法。 在一切开始之前我们要先加载动态库这个在前面的博客中有说明的感兴趣的可以去看看。 首先创建对象这个很简单OC中有个方法NSClassFro原创 2016-09-18 14:44:49 · 1369 阅读 · 0 评论 -
Swift 中异常抛出和四种异常处理
在Swift中你可以像其他语言一样抛出异常处理异常,今天我们就详细地说说Swift中的异常抛出和处理。 在一开始我们要定义错误或者说是异常,Swift中的一些简单异常可以使用枚举定义,注意这个枚举要继承一个空协议Error,如下代码:enum OperationError : Error { case ErrorOne case ErrorTwo case ErrorThr原创 2016-10-09 14:35:30 · 15986 阅读 · 0 评论 -
自定义环形进度条UIAnnularProgress(Swift)
很多地方都会使用环形进度条,这里我们就继承自UIView,自定义一个环形进度条控件,可以设置进度条颜色,宽度,进度,动画效果。我们自定义一个环型图层添加到UIView的图层上去,从而实现环形控件。我们使用CAShapeLayer类创建自己的图层。它有几个常用的属性:frame 尺寸,fillColor图层填充色,strokeColor图层边界的颜色,lineWidth 边界线宽,path 图层路径通原创 2016-09-27 11:23:32 · 3801 阅读 · 2 评论 -
iOS10 语音识别
iOS10苹果开放了语音识别接口,这让我们可以自己自由的把音频转为文本了。iOS的语音识别主要分为识别音频文件和识别音频缓存(按我的理解就是识别音频输入流达到实时转换的效果)。 因为iOS10对权限的要求更严格了所以在一切的工作之前我们要在info.plist文件里面增加两个节点。第一个节点:key: Privacy - Speech Recognition Usage Description原创 2016-10-14 11:24:34 · 5618 阅读 · 2 评论 -
React Native 与iOS的通信
RN可以很好的与原生进行交互,我们首先看看效果吧: 首先我们来看看React Native 怎样调用iOS的代码并且带有简单的参数: 在iOS工程里面我们新建一个类iOSExport,iOSExport将会实现RCTBridgeModule协议。 首先我们要在iOSExport类的实现中添加这句宏定义:RCT_EXPORT_MODULE() RCT_EXPORT_MODULE()如果你不传入原创 2016-12-13 10:13:39 · 6864 阅读 · 3 评论 -
iOS获取通讯录
获取通讯录有的时候我们需要获取用户的通讯录信息上传给服务器,对于iOS来说iOS9之前和之后有不同的方法用于获取通讯录信息。iOS9之前在9之前的版本获取通讯录信息是通过ABAddressBookCopyArrayOfAllPeople 来获取所有联系人的信息的。所有的联系人信息被保存在一个数组里面,我们只需要遍历整个数组就可以获取我们想要的信息的。下面以获取所有联系人的姓名和电话号码和唯一识别码为原创 2017-04-17 17:11:54 · 1584 阅读 · 0 评论 -
Swift 构造过程 1
Swift 的类、结构体、枚举构造完成后它们的所有存储属性一定有一个值 存储属性可以在声明的时候直接给定一个默认值或者在构造的时候赋值,可选属性在初始化的时候会被赋值nil构造器的语法自定义外部参数名称struct Counter { let max : Int var min = 9 var current:Int? //自定义外部名称 init(ma原创 2017-04-20 16:25:29 · 476 阅读 · 0 评论 -
iOS NSKeyedArchiver序列化后进行数据持久化(swift)
NSKeyedArchiver序列化就我简单理解就是把iOS中的类转换为二进制数据,我们可以方便的把而进制数据存起来。接下来分别以iOS原有的类和自定义的类序列化存储做简单的说明: 使用NSUserDefaults存储一个很小的图片,当然了我们要知道实际存储的是一个二进制数据所以我们需要序列化:将图片转换为二进制数据NSKeyedArchiver.archivedDataWithRootObje原创 2016-07-27 14:28:58 · 2885 阅读 · 0 评论 -
iOS UITextView(swift语言)
UITextView通常用来显示大量的文本,当然了也是可以输入编辑的跟UITextField作用差不多,但是也有一点区别。接下来先看代码再细说: func creatTextView() { let textView = UITextView(frame: CGRectMake(10, 50, 250, 200)) textView.backgroundColor =原创 2016-07-27 10:06:46 · 921 阅读 · 0 评论 -
iOS的推送教程
前段时间公司的项目需要用到推送所以就这个方面做了些工作,现在想总结出来给大家共同分享。生成java服务端的推送证书,具体的推送注册,接收方法原创 2016-02-18 17:28:37 · 571 阅读 · 0 评论 -
使用NSURLSession发起HTTPS网络请求
最近需要发送https请求,所以就封装了一个使用NSURLSession发起HTTPS请求的类,以post请求为例看代码。 首先在.h文件中会暴露出一个对象方法,用于发起post请求: - (void)postRequstUrl:(NSString *)url andJsonParam:(NSString *)jsonParam; 然后会有一个代理用于接受网络请求的结果:@protocol原创 2016-03-17 12:03:09 · 2991 阅读 · 0 评论 -
iOS横竖屏问题
最近突然被告知要适配横屏,当然最麻烦的是你还不知道iOS工程到底允不允许横屏,或许说的有点绕口,待会儿看会细说的。其实很想感慨一句:各种奇葩的合理不合理的需求都会遇到的,做为程序员能做的只有打好基础才能应对各种情况。 先说几个API吧,获取iOS项目工程自带的plist文件:NSDictionary *plist = [[NSBundle mainBundle] infoDictionary];原创 2016-03-31 14:52:58 · 996 阅读 · 0 评论 -
iOS中制作动态链接库Framework
这几天在做个SDK遇到了很多问题,现在做完了想把制作Framework的过程分享出来(我这个SDK中也包含了其他的第三方很多Framework,所以踩了很多坑)首先需要创建个Framework工程:然后需要会有个“工程名.h”文件,有这么一句话:In this header, you should import all the public headers of your原创 2016-03-14 17:46:51 · 3956 阅读 · 0 评论 -
不接入微信sdk,在APP中实现微信分享,支付
前段时间在很多地方接入了微信的sdk,发现过程比较繁琐,此外因为导入的sdk比较大会影响最终APP打包的体积,所以就有了不接入sdk也实现相同的功能的想法。要实现这个目标我个人认为最困难的地方是不知道我们自己的app在调用微信时会传递怎样的参数给微信。如果知道了参数那么实现这个目的就比较简单了后来经过了一番波折最终获取到了微信分享好友和朋友圈以及微信支付的通信参数。 进入正题吧,首先要在一个AP原创 2016-03-25 18:06:17 · 5737 阅读 · 1 评论 -
swift语言UILabel的使用
好记性不如烂笔头这个在这么多年的学习生涯中我是深有体会,所以接下来的内容会比较简单,但是还是记下来了。不啰嗦了我们先上代码其他的然后再说:import Foundationimport UIKitclass CreateLabel: UILabel { func createLabel() ->UILabel { let label = UILabel(frame:CG原创 2016-05-04 18:03:53 · 1237 阅读 · 0 评论 -
swift 使用UIButton
这是关于UIButton的使用,将介绍也写button的属性,里面的代码我会把注释全部去掉,你可能连起来看会出错,但是单独看一个一个属性或者方法是没有问题的import Foundationimport UIKitclass CreateButton: UIButton { var target:ViewController? init(target:ViewController原创 2016-05-04 18:14:17 · 1121 阅读 · 0 评论 -
swift -UITextField
这接上代码吧:import Foundationimport UIKitclass CreateTextField: UITextField{ init(){ super.init(frame: CGRectMake(0,100, 200,100)) //边框样式 self.borderStyle = .Bezel //提示文字原创 2016-05-04 18:24:20 · 455 阅读 · 0 评论 -
Swift 给图片添加水印
要给图片添加一个水印感性的想想其实就是在图片上面绘制文字,一般有如下几步:第一要获取到画布;第二要在画布中绘制文字;第三获取到新的图片。不啰嗦了看代码具体和注释这里我是给UIImage这个类添加了一个拓展import Foundationimport UIKitextension UIImage { func drawTextInImage()->UIImage { /原创 2016-07-26 17:47:44 · 2202 阅读 · 0 评论 -
iOS 的本地推送(swift实现)
以前曾经写过iOS的远程推送那时候是用OC语言实现的,现在简单的介绍一下iOS的本地推送 相比远程推送本地推送省略了麻烦的证书问题所以很简单。 一样的我们在程序的开始都需要注册推送: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObj原创 2016-07-26 18:28:37 · 2777 阅读 · 0 评论 -
Swift 构造过程 2
类的代理规则 在Swift中对于类的构造有如下规则: 1. 子类中的指定构造器必须调用父类的指定构造器(如果本身是父类可以忽略这条) 2. 一个类的便利构造器必须调用这个类的其他构造器(横向代理) 3. 一个类的便利构造器必须最终调用这个类的指定构造器(竖向代理)原创 2017-04-20 16:33:49 · 509 阅读 · 0 评论