
iOS-Tips
踩着七色的晕菜
这个作者很懒,什么都没留下…
展开
-
iOS --- Objective-C 的switch语句中不能初始化对象
在Objective-C代码中,switch语句中不能进行对象的初始化操作。原创 2016-02-13 16:35:32 · 1839 阅读 · 1 评论 -
iOS --- 使用runtime解决3D Touch导致UIImagePicker崩溃的问题
UIImagePickerController是iOS中自带的系统相册选择器, 使用起来非常简便.3D Touch是iPhone 6s/6splus设备才有的特点, 在系统相册中长按一个照片, 可触发3D Touch相关的操作.而在没有3D Touch的设备中, 在系统相册中长按一个照片, 会导致crash. 这看起来像是iOS系统的一个bug.原创 2016-03-20 09:06:19 · 2001 阅读 · 0 评论 -
iOS --- 自定义navigationBar的两种常见方式
我们经常会有自定义navigationBar的需求, 通常有两种实现方式.原创 2016-07-27 22:27:17 · 2108 阅读 · 0 评论 -
iOS --- 关于KVC使用的一些小技巧
KVC是iOS开发中经常会用到的技巧, 主要包括valueForKey:/setValue:ForKey:, valueForKeyPath:/setValue:forKeyPath:两队组合方法. valueForKey:会首先查找以参数名命名的getter方法, 如果没有找到, 则在对象内寻找名称格式为_key或key的实例变量.原创 2016-07-26 22:21:07 · 1190 阅读 · 0 评论 -
iOS---Objective-C中@class与#import的区别
在Objective-C的项目中, @class通常放在.h文件中, 主要作用在于提升编译性能, 且能防止头文件的递归import.编译性能的考虑通常, 使用#import引入一个类的头文件, 编译时会将该类的头文件中的所有信息都引入, 包含属性和方法, 但有时候却不需要这么多, 且包含这些信息会降低编译性能.原创 2016-06-15 00:04:36 · 1750 阅读 · 0 评论 -
iOS --- 获取屏幕顶层的UIViewController
经常会遇到一些场景, 要通过代码获取到当前显示在屏幕最顶层的UIViewController. 如何获取呢?原创 2016-04-04 21:14:50 · 4662 阅读 · 0 评论 -
iOS --- 两个NSIndexPath对象的正确比较方式
在UITableView和UICollectionView中, 经常会遇到比较两个NSIndexPath对象是否相同的情况. 只能分别对NSIndexPath对象的section与row或item进行判断原创 2016-03-03 07:38:12 · 7035 阅读 · 0 评论 -
iOS --- 根据字符串的实际大小来计算UILabel的size
很多UILabel的使用场景下,需要根据字符串的实际大小来计算UILabel的size,以保证UILabel的美观:使用NSString的方法:(CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode即可计算字符串的大小。原创 2016-02-13 21:58:42 · 4981 阅读 · 0 评论 -
iOS --- 为UISlider添加点击事件
UISlider是iOS中非常常见的UI控件, 继承自UIControl, 可设置valueChanged等事件响应方法. 但其默认不支持单击事件, 本文即简单地实现了可单击选值的UISlider.原创 2016-02-23 07:35:48 · 10693 阅读 · 1 评论 -
iOS --- 如何隐藏APP的statusBar
如何隐藏APP的statusBar原创 2016-02-14 09:22:54 · 1026 阅读 · 0 评论 -
iOS --- 使用NSURL的urlWithString时,尽量先对字符串进行UTF8转码
我们常常使用NSURL的urlWithString:方法来构造NSURL,传入的字符串参数有时候会出现格式编码的问题,尤其是使用stringWithFormat:方法组合的时候,最终结果会导致NSURL为nil。那么尽量先对字符串进行UTF8转码即可解决原创 2015-09-27 09:01:48 · 4061 阅读 · 0 评论 -
iOS --- 解决RESideMenu中所有界面都能侧滑的问题
RESideMenu是iOS中非常好用的一个侧滑布局类库, 很多iOS项目都会用到此类的左右侧滑效果.然而, 在RESideMenu的使用过程中, 发现其默认将所有界面都加入了侧滑功能. 如: 我们的导航Menu可以放在屏幕左右两侧, 侧滑可将其显示出来. 但是, 当我们进入到某个次级View中, 甚至更深一层的View中, 侧滑功能仍然可用. 这一点就与UINavigationController有了冲突.原创 2015-07-14 21:37:15 · 4238 阅读 · 1 评论 -
iOS --- 去掉UITableView中的空白行
UITableView中默认将空白行也显示出来, 而只需要这句代码即可将其去掉 self.tableView.tableFooterView = UIView(frame: CGRectZero)原创 2015-07-12 17:52:12 · 2040 阅读 · 0 评论 -
iOS --- UICollectionView中使用reloadItemsAtIndexPaths进行局部cell更新
UICollectionView与UITableView类似,都可以使用reloadData来进行cell内容的更新。然而如果想要进行局部cell更新呢?UICollectionView可以采用reloadItemsAtIndexPaths方法。原创 2015-09-27 08:46:45 · 24483 阅读 · 0 评论 -
iOS --- iPhone 6 plus的放大模式(BigMode)适配
iPhone 6的屏幕分辨率为 750 * 1334, iPhone 6 plus的标准模式的屏幕分辨率为1242 * 2208. 而iPhone 6 plus允许设置放大模式, 以适应大屏幕的特定需求. 而采用放大模式后, 屏幕分辨率变为1125 * 2001, 为iPhone 6屏幕分辨率的1.5倍. 所以, 在通过屏幕分辨率来决定机型的时候, 要加入对于iPhone 6 plus的放大模式的考虑.原创 2015-10-06 21:16:52 · 7248 阅读 · 0 评论 -
iOS --- UIColor中使用16进制选取颜色
iOS中的UIColor可以使用16进制来选取颜色.原创 2015-10-06 09:40:02 · 3488 阅读 · 0 评论 -
iOS --- 为UIButton添加setBackgroundColor:forState:方法(包含OC和Swift两个版本)
有这样的一类简单需求: UIButton的背景色要与其state相关, 如未点击时显示蓝色, 点击时显示绿色. 但是, UIButton自身并未提供setBackgroundColor:forState:方法, 因此我们不得不单独在touchDown等方法中去更新其backgroundColor属性. 这里介绍如何为UIButton提供该扩展方法, Objective-C和Swift的版本都有.原创 2016-07-07 21:50:41 · 2661 阅读 · 0 评论