基于产品需求,在进行某些动画开发中,不可避免的会遇到需要创建重复图层的情况。直接循环创建看起来似乎有些蠢。
CALayer提供了CAReplicatorLayer
子类,很好的解决了这个问题,它可以将自己的子图层复制指定的次数,并且保留被复制图层的各种基础属性。
Nothing is impossible!
基于产品需求,在进行某些动画开发中,不可避免的会遇到需要创建重复图层的情况。直接循环创建看起来似乎有些蠢。
CALayer提供了CAReplicatorLayer
子类,很好的解决了这个问题,它可以将自己的子图层复制指定的次数,并且保留被复制图层的各种基础属性。
当我们学习和使用Objective-C时,Objective-C Runtime往往被我们自动忽略了。因为就算不知道它的存在,似乎对我们平时写代码并没有多大的影响。既然没影响,那我们还学它干嘛,就像不会造车但我会开车不就可以了?
但是当你在这行逐步深入进去,你至少应该知道一些Runtime的工作细节,知道Objective-C正在做的事情,能够帮助你更深层次的理解Objective-C和你的App,不管你有没有好奇心,对你个人来说也是一种收获和提升。了解车的性能和构造又何尝不是为了能更好的驾驭这辆车,成为一名资深的赛车手。
无论是XML解析还是JSON解析,最终得到的数据通常我们都是以数据模型的形式保存在本地的,为什么不直接用字典呢?
首先大多数编译器都有自动提示补全功能,将字典的key转换成模型里的属性,就能很好的利用这一功能,提高开发速度,比复制粘贴还快哦。
其次,如果模型的属性写错了,编译的时候,编译器会提示报错,这样就能及时修正BUG,而字典的key,你写成啥样,编译器也不会管你的死活。
最后一点,不管怎么样,写成数据模型的形式,起码看起来也比字典专业不是么?
字典转模型的方式多种多样,网上的开源库也很多。但在实际开发过程中,稍有不慎,一些细节问题同样会让你头疼。
系统的UIAlertView和UIActionSheet在iOS9.0已经被苹果废弃,由UIAlertController代替。
然而UIAlertController的样式只有有限的几种,对于特殊的字体和颜色需求,UIAlertController并没有预留接口给我们。
当然虽然修改的办法还是有的,但一不小心触及到苹果的底线,影响产品上线,也会增加时间成本。
之前封装了一个ActionSheet底部弹出视图,这里再封装一个AlertView提示框,常用的弹出框基本就这两种了。
以下是效果图:
Github下载地址:
在开发中,弹出框是必不可少的一个控件,苹果也有自带UIAlertController来供我们使用,通常情况下,使用系统的弹出框就可以了。
但是,需求总是游离在现实之外的,万恶的产品和UI可能会要求你改这改那,这个字体太丑了,这个颜色不好看。哈哈,没办法,改吧。
但是系统自带的弹出框,样式就那么几种,颜色和字体也不能随意更改,为了适应需求,我们需要封装一个自己的ActionSheet控件。
以下是效果图:
字体和颜色都预留了接口,可以随意更改。
Github下载地址:
上回写过一篇关于图片旋转的问题,详情请见iPhone图片上传服务器旋转的问题。
这只是图片使用过程中的一个小坑,类似的坑还有千万,我们不需要所有的坑都走一遍,也不用对每个坑做细致的调查,但对于常见的坑,掌握如何填平还是有必要的。
UIImageView作为最常用的控件之一,为了迎合需求,总是要求我们对图片做各种各样的处理,最常见的有拉伸,缩放,模糊,裁剪几种。
在这里分享图片处理的一些实用方法。