1.关于自定义控件:
1.在init方法里面添加子控件: 定义属性子控件变量弱引用添加的子控件.
2.在layoutsubviews里面重新布局子控件: 在布局之前记得调用[super layoutsubviews];
2.类别和扩展. 类别只能添加方法,扩展可以添加方法和属性.
3.一个控件是通过xib和storyboard创建的话,初始化方法一定会调用initwithcoder方法
一个控件是通过代码创建的话,初始化方法一定会调用initwithFrame方法
一个控件是通过xib和storyboard创建出来的时候,加载完毕会调用awakeFromNib方法.
4.通过代码创建这个控件,是不会主动去加载xib文件的,即使xib的文件名和类名一样也不会主动去加载xib文件.
5.自定义按钮重设图片和文字布局
返回图片显示的位置和尺寸
-(CGRect)imageRectForContentRect:(CGRect)contentRect
返回文字显示的位置和尺寸
-(CGRect)titleRectForContentRect:(CGRect)contentRect
方法一
方法二
6.图片拉伸问题处理
image.png
image.png
7.kvc
image.png
8.屏幕适配
image.png
image.png
image.png
image.png
9.用autoresizing做屏幕适配
image.png
10.autolayout布局
UIlabel不用设置宽度高度,会根据文字自动调整宽度高度
如果要label自动换行,那么需要设置宽度.(设置最大宽度: 即小于等于)
image.png image.pngimage.png
image.png
约束优先级特点: 优先级越高越先生效.
要禁止某个东西约束动画
image.png image.png
makeConstraints这个方法会添加新的约束
updateConstraints这个方法可以更新约束
remakeConstraints这个方法删除之前所有约束,添加新的约束
image.png image.png image.png image.png
image.png
image.png
image.png
image.png
xib自定义cell注意点:
1.在Class改为你自定义的XXCell类型
2.在identifier添加标识
image.png
网友评论