1.某个控件不显示
1.frame的尺寸和位置对不对
2.hidden是否为YES
3.有没有添加到父控件中
4.alpha 是否 < 0.01
5.被其他控件挡住了
6.frame在屏幕外面
7.没有添加到父控件中 (view的层次结构中)
8.控件的颜色和父控件一样
9.父控件的前面几种情况
2.autoLayout
1、如果使用autolayout来约束控件,那frame就失效了,官方也不建议我们再设置frame了.
2、UIImageView,UILabel不需要设置宽高,会根据内容的大小自动确定宽高。
3、使用autolayout的两个前提:
- 给哪个控件添加约束,就把哪个控件的autoresizing关闭。
- 一定要添加到控制器的view的层次结构中。
4、注意:直接把改变约束的代码,放到动画中是不会执行的。
5、layoutIfNeeded,让系统去改变控件真实的frame,让本控件及其子控件重新布局
6、计算scrollView内部的子控件需要注意它内部的子控件有两个滚动条。