- 博客(6)
- 收藏
- 关注
原创 iOS放大镜
DSMagnifierView是一个有放大镜子效果的自定义控件。 先看效果: 其实很简单,就是把UIWindow的图层给渲染到DSMagnifierView上。 由于这个放大镜要处于屏幕最上层,最好是UIWindow的子类,这样可以设置它的视图层级。 使用方法 1.初始化后设置用来渲染的视图renderView。 - (DSMagnifierView *)magnifi...
2018-03-11 13:39:12
758
原创 iOS简易的安全登录键盘
从前,公司有个需求,要我写个键盘登录用。 两三天之后,它就出来了。这个需求又被砍了。。。 简单介绍 使用autolayout布局,block回调。 样式参照工商银行的键盘布局。 键盘分三种输入类型: 字母 数字(每次切换均为随机乱序) 符号 该键盘输入的内容为密文(非系统的密文模式),输入内容保存在内存中,第一时间替换为黑色圆点符号。只有点击登录的时候才会回调真正的密码。 只是实...
2018-03-08 14:26:29
1055
原创 iOS自定义TabBar在屏幕旋转时出现重影
自定义TabBar在屏幕旋转时出现重影这种情况以前并没有出现,应该是在iOS11之后才有的,最近又开始开发以前的项目才碰到。看起来是这样的: 就像两层一样,在图层中看时也确实是多了一层按钮: 所以我想是不是自定义tabBar在旋转的时候不小心多调了一次添加button的方法,然而并没有找到多余的调用,并且在自定义tabBar的添加button和layoutSubviews方法中的断点也...
2018-03-07 17:32:24
726
原创 iOS通过后台标识使程序在后台长久运行
正常情况下,当应用被按Home键退出后,应用仅有最多5秒钟的时间做一些保存或者清理资源的工作。但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让应用在后台长久的运行。 让程序在后台长久运行的示例代码如下: @interface AppDelegate : UIResponder <UIAppli...
2018-03-06 16:16:09
931
原创 iOS自定义对象的深拷贝
对于iOS系统对象的复制可以参考以下规则: 可变对象的copy和mutableCopy方法都是深拷贝(区别完全深拷贝与单层深拷贝). 不可变对象的copy方法是浅拷贝,mutableCopy方法是深拷贝. copy方法返回的对象都是不可变对象 自定义对象的深拷贝 系统对象由于有可变和不可变之分,浅拷贝和深拷贝有点复杂.自定义对象没有什么可变不可变的概念,因此,只讨论深拷贝的情况....
2018-03-06 16:08:55
1103
原创 远程推送
APNS的推送机制首先我们看一下苹果官方给出的对iOS推送机制的解释。如下图Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应用程序的服务器端把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的iPhone列表中,...
2015-07-14 10:41:10
533
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人