对于界面的实现,是用代码还是用storyboard/xib?我的答案是,能用IB就不用代码。我们的精力和时间不应该浪费在写界面代码这种事情上。至于IB存在的问题,那就去解决问题。
![](https://img.haomeiwen.com/i1792315/6d94f14b9faac188.png)
类似上面的界面,重复的部分非常多,例如带icon的输入框,按钮。这些应该考虑到复用,当然是使用IB来复用。
我们先实现一个简单的复用demo。步骤如下:
1.按照下图的步骤
先创建一个view用来复用
![](https://img.haomeiwen.com/i1792315/5a2322ee94f36ebd.png)
2.将XIB里面的控件和类连接起来
![](https://img.haomeiwen.com/i1792315/e6b780221cdb9e64.png)
3.在ViewControll里加上我们自定义的MyReuseView
![](https://img.haomeiwen.com/i1792315/7c338b7ab9aca6bd.png)
4.运行,并没有看到label和Button控件
只有一个空白view,并没有显示MyReuseView
![](https://img.haomeiwen.com/i1792315/8efa24dbdc6b0d1f.png)
5.在MyReuseView加一个断点,的确执行了MyReuseView
![](https://img.haomeiwen.com/i1792315/d56d6633a977d71b.png)
6.问题在于,并没有加载xib文件。需要加载xib文件
MyReuseView类只是设置为File's Owner,在MyReuseView这个类被执行的时候,并不会去加载xib。所以,需要自己去加载xib。
![](https://img.haomeiwen.com/i1792315/b5bae4501787beab.png)
再做一点修改,查看效果
![](https://img.haomeiwen.com/i1792315/a971bd4b8e8e94bc.png)
7.实现了预期效果
![](https://img.haomeiwen.com/i1792315/d38f970c70db9558.png)
网友评论