随笔分类 - iOS
摘要:Swift3下的转换写法: 可直接用方法,或加到Image的类别里面,推荐第二种。
阅读全文
摘要:在做二维码扫描和直播获取视频流的过程中,可能会用到 这几个参数,其中 1、定义显示layer 2、获取摄像头方向 重点就是这里getDeviceDirection方法,这里我的做法就是根据当前状态栏方向判断摄像头方向。 代码实现:
阅读全文
摘要:在iOS10以上,权限这块有了一些变化 首先在info的URL Types 添加 prefs 1、打开APP设置界面 这个是跳到本身APP路径下的权限界面,比如有相机权限、通讯录等等,可以直接开关设置。 1、打开系统WIFI界面 这个可以实现ios10下的跳转wifi里面,可以直接选择某个wifi进
阅读全文
摘要:在swift 3中新增加了两种访问控制权限 fileprivate和 open。 下面结合网上资料和个人理解整理一下两个属性的原理与介绍。 fileprivate 在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然是可以访问到的。
阅读全文
摘要:我们新建项目后,每个页面头部都有一段注释说明, 如下: 如果我们想修改Created by XXX 和 Copyright 版权内容,该如何做呢? 1、对于修改作者:Created by xxx 这里的作者xxx其实是从电脑管理员名称那边自动继承的,我们打开 偏好设置-用户与群组 查看 这边的名称就
阅读全文
摘要:有时需要在整个项目里,全局修改某一段话或文字,可以这样快速实现: 1、打开查找功能 2、输入你要替换的内容 比如,我这边想全局修改作者名称 3、点击Find,会出现一个框,会有replace出来,就和我们文件内查找替换一样 4、改成你想要的内容,点击replace all easy enjoy it
阅读全文
摘要:对于自动布局: 我们在 StoryBoard 中可以使用约束实现,简单明了,但如果用纯代码来设置约束就很麻烦了 OC里面,我们常用的有Masonry,SDAutoLayout Swift里,我们有SnapKit:GitHub下载链接 一、项目集成 SnapKit的使用方法 对于如何使用SnapKit
阅读全文
摘要:最近在做iOS上,基于UDP传输音视频时遇到的一个问题,这边纪录一下: 由于考虑实时性比较高,所以采用了 CocoaAsyncSocket 的UDP框架来实现,将视频切割成一帧帧的图片发给服务端,不过,在发送图片的过程中,发现: 当图片大于9k大小时,会发送失败; 在didclose代理方法里,会打
阅读全文
摘要:基于swift3的一些常用文件操作方法: 1、创建文件(文件夹) 2、读取文件(根据名称) 3、读取文件(根据路径) 4、判断文件是否存在(根据名称) 5、判断文件是否存在(根据路径) 6、删除指定名称文件 7、删除指定路径文件 8、删除所有文件 9、写入文件 代码:
阅读全文
摘要:小小圆角问题,正常情况下,我们不需要过多关心,但当屏幕内比较多的时候,还是有必要了解下性能问题的 一、设置CALayer的cornerRadius 这是最常用的,也是最简单的。 cornerRadius属性影响layer显示的background颜色和前景框border,但对layer的conten
阅读全文
摘要:举例: 这边的第三种方法不是最优的,系统其实有提供一个Range方法 如图: 实现如下: 其中,end中的6 = 4+2,表示结束位置。 Enjoy~
阅读全文
摘要:直接上代码吧 1、JSONString转换为字典 2、字典转换为JSONString
阅读全文
摘要:最近偶然发现的一个怪现象: 应用需要相机权限,如果检测到没有开启权限,我们代码内,通过openURL跳转设置界面 这样做,的确可以直接跳到设置内-本应用下-权限管理界面,我们可以直接开启相机权限,但问题来了。。。 只要操作了相机权限,我们的应用就会立即崩溃, 此时: 如果你是调试模式,会直接在App
阅读全文
摘要:有个需求,点击某个按钮,实现一段内容的拷贝,然后到其他应用内,直接长按粘贴。 实现如下: 拷贝后,不管是当前应用内,还是外部应用,都可以粘贴了 但是,这种方式是全局的剪切板,如果期间有其他拷贝,会造成覆盖混乱,所以这种方式适用于能保证不会混乱的场景下。 所以,我们可以创建自己的剪切板: 这种方式相对
阅读全文
摘要:使用Alamofire的时候,在用这句的时候报错了: Extra argument 'method' in call 一开始以为是参数method没写对,纠结了很久,没解决,只好查资料,发现原来是因为其他参数的问题。 我这里是因为parameters的缘故: [] 写错了,变成 [:] 这样就好了
阅读全文
摘要:本文为转载文章 故事背景: 这两天,不少iOS开发群都炸窝了,原因是部分iOS开发者收到了苹果的警告邮件: 有开发者质疑可能是项目中使用了JSPatch、weex以及ReactNative等热更新技术。对于修复bug提交审核的开发者来说,热更新技术可以帮开 发者避免长时间的审核等待以及多次被拒造成的
阅读全文
摘要:Instrunments: 没错,就是这货,很多人平时开发可能不一定会用到这个,但我要说的是,学会使用它,会让你加分不少哦 先来一张一览图: 1、打开方式 或者 两种方式都行。 2、今天主要介绍一下我常用的3种:Core Animation 、Leaks、Time Profiler 打开方式: 双击
阅读全文
摘要:之前swift项目打包成Framework静态库,提供给OC项目套入使用时,有时会抱这样一个错误: 这个错误发生的概率比较随机,有时会,有时不会,而且这句话在swift中的使用,是做model类型强制转换(as!)时发生的。 分析了很多原因,都不能解决,后来偶然一次才发现了根本原因,很神奇。。。。
阅读全文
摘要:使用wekwebview时,push后,再pop返回,报错了: 解决方案: 1. 不要在 dealloc 方法中,使用 weak self 2. A控制器(包含scrollView及其子类,并设置了其代理),B控制器(webView,并设置了webView.scrollView.delegate =
阅读全文
摘要:在swift中,使用代理 ,可能很多人会这样实现: 但其实,这样会有个隐患问题,那就是内存泄漏!!! 解决办法: 在1和2步骤中处理如下: 在申明属性时,添加weak申明弱引用,同时,在定义代理协议时,加上继承 NSObjectProtocol(class也行) 这样即可避免循环引用的问题。
阅读全文