ios masonry 使用心得

ios开发中masonry的使用心得

北慕城南 提交于 2019-12-05 15:28:15
去年做项目时用到一个第三方自动布局的框架——Masonry,期间碰到过一些问题,现在在此总结一下: 1.添加约束后APP崩溃的问题:(所有问题原因都能归根结底到子view没有成功加到父view上就设置约束) ①如果是ios7及ios7以下的系统,崩溃的大部分之前在网络上查过,主要元原因说“主要是在equalTo的对象指到了父视图的父视图或者父视图同级的子视图上造成的”,后来将约束equalto全都指向了父view或者同级别的view上,之后的确奏效; ②如果是ios7以上的系统,系统崩溃的可能原因:a)还没有将子view添加到父view上就开始添加约束,这样view完全找不到自己的约束根基在哪里,必然会崩;b)之前遇到过一个设置navigationbar的leftbuttonitem和rightbuttonitem,但是我在viewdidload()方法直接设置约束就会引发崩溃,原因可能是在跳转该界面时(页面push进来时)navigationbar还没有加载完,此时就开始添加buttonitem并设置约束,所以解决方案是延时设置navigationbar的样式: dispatch_after(time, dispatch_get_main_queue(), ^{ [XXX]; }); 2.添加约束不起作用的问题: ①设置的约束不能确定控件的唯一位置,除非有需要自适应高度的控件