今天客户新需求,不对,应该说是一些客户有新的需求,之前都是一个xib布局好的view现在需要变化了,一些客户需要在某个地方多几个label,button什么的,某些客户需要某些地方多几个imageView什么的,好吧,之前都是一个XIB,第一感觉是难道是需要写多个XIB吗?我想着实在不行再这样写吧,因为这样虽然是肯定可以达到效果,可是管理起来不容易,程序中多了xib加载速度会变慢,种种考虑,感觉肯定还有别的办法,所以就想着用代码来改变布局好的XIB,可是,应该怎么弄呢?之前我在树上看到过有这么一出,可是自己在项目中还是么实际使用过的,后来通过自己的研究还是达到了要求,我下边会给一个demo贴图:
步骤:
1.创建VIew
2.创建XIB
3.在XIB中拖控件
4.加约束
5.把需要改变的约束拖拽到View中
6.在view中改变XIB中的约束
在XIB中拖拽label控件,命名为I Love You.
把需要改变的约束拖拽到View上
改变约束 其中顶部+200
距离右边-100,距离左边+100.也就是label向右移动100这点需要注意,如果你的约束是对称的,那么你在改变其中一个约束的时候一定要记着对称的那个一定也要改,不然没效果的。
把view加到controller上显示
效果如下:
如果不加代码约束,效果如下:
如果只改变了上和右,没有改变左约束,左右那个约束是没有效果的,看下图: