首先把 cell xib中的控件 autolayout设置好后,保证xcode看起来没有错误。小白的我以为这样就没问题了 点击运行。 发现后台打印了很多警告信息,仔细一看貌似多约束。
看看了模拟器的界面貌似没什么问题。 出于强迫症和好奇心。
我对xib的文件进行了 N次修改。 期间出了很多次页面错乱。 并且我一直保持xib的布局没有警告信息。
最后我排查下 完成了布局和autolayout 后台也不打印警告了。这里总结下我发现的两个问题。
1、UIIabel 不能设置宽度,因为系统会随着label的内容大小自动调节 label的宽度,如果你再设置宽度的话。就会发生优先级的冲突。
2、imageView 是布局在cell的垂直居中的。 并且top和bottom都有space。但我怕图片变形又设置了固定高度。这样运行起来会导致后台报警告。 表示系统重新修复了 imageView的高度。我降低了 imageView的高度优先级。我猜想是 在iphone6的情况下(我的模拟器设备)imageView的高度会生效。 但是在别的设备,imageView 会优先满足top和bottom的space 约束从来 拉伸或缩小 图片。
自己自学阶段都是自己在谷歌搜索理解的不知道对不对。 懵懵懂懂。 明天买本autolayout的书 好好恶补下。
下一级段着手优化 iOS对图片的处理。 app 常常会因为cell中图片的加载 接到内存溢出的警告,而且肉眼感觉图片的分辨率怪怪的。