像知道像新浪微博用户资料这样的复杂一些的界面应该怎么处理视图?

比如【详细资料】,【微博】,【粉丝】等等那一行,是应该把每个UILabel或者UIButton自定义到一个UIView的子类里面,还是在Controller里一个一个加进去?

这几个按钮有类似的 UI,所以如果我拿到这样的 UI 稿一定会自定义一个 UIButton,上下两个子 UILabel,暴露 setText 之类。 其次,即便不是马上会重用的 View,因为数字 + 文字说明整体是一个 UIButton,所以我觉得在 Controller 中组装他不是很合理,还是会抽象成一个自定义的 View。

个人觉得最好还是封装一下,逻辑更清晰,要说不封装也没太大影响。

如果是我就不封装,直接在viewcontroller中加就行,觉得封装意义不大. 另外推荐你用storyboard直接可视化设计,简单易用,省了大量布局代码,且支持横屏自动布局,支持高度自动布局适应.

不封装没有问题,但是封装有利于管理,逻辑比较清楚,如果要改的话也比较好改。

自定义的UIView 封装也可以放到storyboard 里面啊。
比如TTTAttributedLabel 继承 UILabel,在storyboard 里面把UILabel拖上去,然后在 identity inspector 中把 Custom Class 改为TTTAttributedLabel即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注