UI基础篇
brightNam
这个作者很懒,什么都没留下…
展开
-
iOS开发笔记>> 怎么解决cell缓存池满的问题
这个问题挺有意思iOS中不存在缓存池满的情况, 因为通常iOS开发中对象都是在需要的时候才创建, iOS程序员有一句常说的话就是懒加载, 懒加载想必就不用多说了吧. 还有在UITableView中一般只会创建刚开始出现在屏幕中的cell, 之后都是从缓存池中取, 不会再创建新的对象. 缓存池中最多也就一两个对象, 所以iOS开发中cell的缓存池不存在满的问题. 缓存池满的这种情况一般在J原创 2016-08-05 19:44:22 · 735 阅读 · 0 评论 -
iOS开发笔记>> runLoop机制的简介
1. runLoop 是多线程很重要的机制, 就是一个线程一次只能执行一个任务, 执行完成任务后就会退出线程. 主线程通过 do-while 死循环让程序持续等待下一个任务不退出. runLoop 没事时进入休眠状态, 为了节省 CPU 资源. 子主线程通常来说就是为了执行某个任务而创建的, 执行完就会归还资源, 因此默认不开启 runLoop. 2. 每一个线程都有其对应的 runL原创 2016-08-14 22:29:06 · 255 阅读 · 0 评论 -
iOS开发笔记>> 什么时候会报 Unrecognized selector 的异常?
> 当调用对象的某个方法的时候, 如果在当前类中没有找到此方法, 那么就到当前类的父类中去寻找, 如果在父类中没有找到, 那么就去父类的父类中去寻找, 一直找到 NSObject 都没有这个方法, 就会报 Unrecognized selector 的异常. 但是在这之前, objc 的运行时会给出三次拯救程序崩溃的机会. > 第一次: 动态添加一个新方法并执行的机会原创 2016-08-11 17:40:54 · 3295 阅读 · 3 评论 -
iOS开发笔记>> 以 schedcledTimerWithTimerInterval…的方式触发的 timer,在滑动页面上的列表时,timer 会暂停回调,为什么?如何解决?
遇到的问题: timer 本身不能自动循环的做一些事, 必须把它加入到消息循环后才能处理一些事情, 而用 scheduleTimerWithTimeInterval 的方式创建的 timer 做了两件事情: 1. 创建了 NSTimer 对象2. 把这个 timer 加入到当前 RunLoop 的 NSDefaultRunLoopMode 中因为线程一般情况下就是 NSDefaul原创 2016-08-11 15:53:20 · 881 阅读 · 0 评论 -
iOS开发笔记>> 如何渲染自定义格式字符串的UILabel
通过NSMutableAttributedString设置, 代码如下- (void)viewDidLoad { [super viewDidLoad]; NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"啊哈哈哈好烦"];原创 2016-08-05 20:56:39 · 461 阅读 · 0 评论 -
iOS开发笔记>> 代理模式是什么?
代理模式就是我们经常说的代理设计模式, 也就是代理, 这也是iOS中一种消息传递的方式, 也可以通过这种方式来传递一些参数. 代理是一种通用的设计模式, 由代理对象, 委托者, 协议三部分组成, 有特定的语法来实现代理模式, OC语言可以通过@Protocol实现协议1. 代理主要由3部分组成: 协议: 用来指定代理双方可以做什么, 必须做什么代理: 根据指定的协议原创 2016-08-05 23:28:31 · 343 阅读 · 0 评论 -
控制器View的生命周期及相关函数是什么?你在开发中是如何用的?
1. 首先判断控制器是否有视图, 如果没有就调用loadView方法创建: 在此方法中可以通过storyBoard或者代码创建2. 随后调用viewDidLoad, 进一步对视图进行初始化操作, 程序运行只会调用一次, 此时才有了view3. 在视图显示之前调用viewWillAppear, 该函数只要有视图显示就会被调用, 该函数可以被多次调用, view即将显示, 此时superVie原创 2016-08-05 21:40:40 · 499 阅读 · 0 评论 -
iOS开发笔记>> 设置scrollView的contentSize能在viewDidLoad里设置么,为什么?
所有事情都是相对而言的, 是可以设置的. 因为在ViewDidLoad中view刚刚创建, 可能并不是真正的frame, 所以在ViewDidLoad中设置scrollView的contentSize不太好.原创 2016-08-05 20:52:03 · 1635 阅读 · 1 评论 -
iOS开发笔记>> UIButton与UITableView的层级结构
1. 继承结构UIButton -> UIControl -> UIView -> UIResponder -> NSObjectUITableView -> UIScrollView -> UIView -> UIResponder -> NSObject2. 内部子控件结构UIButton内部子控件结构: 默认有两个, 一个UIImageView, 一个UILable,原创 2016-08-05 20:25:41 · 1657 阅读 · 0 评论 -
iOS开发笔记>> 获取当前APP的设备名称和版本号等内容
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];CFShow(infoDictionary);// app名称NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];// app版本NSString *a...原创 2018-05-10 11:00:59 · 534 阅读 · 0 评论