UI控件

2018-07-10  本文已影响14人  Jorunk
1.怎么解决缓存池慢的情况

iOS不存在缓存池慢的情况,因为通常我们iOS开发中,对象都是在需要的时候才会创建,有种常用的做法叫做懒加载,还有在UITableView中一半只会创建刚开始出现在屏幕中的cell,之后都是从缓存池里取,不会创建新对象,缓存池里最多也就一两个对象,缓存池满的情况一半在开发Java中比较常见,Java中一般吧最近最少使用的对象先释放。

2.CAAnimation的层级结构
CAAnimation

CAPropertyAnimation: 属性动画,是一个基类,一般使用它的两个子类:CABasicAnimation和CAKeyframeAnimation.主要作用于CALayer的属性,使其产生动画效果.

CAAnimation 详解

3.UIButton与UITableView的层级结构

UIButton -> UIControl -> UIView -> UIResponder -> NSObject

UITableView -> UIScrollView -> UIView -> UIResponder -> NSObject

UIButton内部子控件结构: 默认有两个, 一个UIImageView, 一个UILable, 分别可以设置图片和文字, button设置属性基本都是set方法

UITableView内部子控件结构: UITableView中每一行数据都是UITableViewCell, UITableViewCell内部有一个UIView控件 (contentView, 作为其它元素的父控件) , 两个UILable 控件 (textLable, detailTextLable) , 一个UIImageView控件 (imageView) , 分别用于容器, 显示内容, 详情和图片

4.如何渲染自定义格式字符串的UILable
    NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"你好"];
    
    //设置文字颜色
    [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,1)];
    
    //设置字体
    [str addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:10] range:NSMakeRange(1, 2)];
}
5.设置scrollView的contentSize能在viewDidLoad里设置吗?为什么?
6.按钮或其他UIView控件的事件传递的具体过程

史上最详细的iOS之事件的传递和响应机制-原理篇

7.控制器view的声明周期及相关函数是什么?你在开发中是如何利用的?
上一篇下一篇

猜你喜欢

热点阅读