比如【详细资料】,【微博】,【粉丝】等等那一行,是应该把每个UILabel或者UIButton自定义到一个UIView的子类里面,还是在Controller里一个一个加进去?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
这几个按钮有类似的 UI,所以如果我拿到这样的 UI 稿一定会自定义一个 UIButton,上下两个子 UILabel,暴露 setText 之类。 其次,即便不是马上会重用的 View,因为数字 + 文字说明整体是一个 UIButton,所以我觉得在 Controller 中组装他不是很合理,还是会抽象成一个自定义的 View。
个人觉得最好还是封装一下,逻辑更清晰,要说不封装也没太大影响。
如果是我就不封装,直接在viewcontroller中加就行,觉得封装意义不大. 另外推荐你用storyboard直接可视化设计,简单易用,省了大量布局代码,且支持横屏自动布局,支持高度自动布局适应.
不封装没有问题,但是封装有利于管理,逻辑比较清楚,如果要改的话也比较好改。
自定义的UIView 封装也可以放到storyboard 里面啊。 比如TTTAttributedLabel 继承 UILabel,在storyboard 里面把UILabel拖上去,然后在 identity inspector 中把 Custom Class 改为TTTAttributedLabel即可。
TTTAttributedLabel
UILabel
这几个按钮有类似的 UI,所以如果我拿到这样的 UI 稿一定会自定义一个 UIButton,上下两个子 UILabel,暴露 setText 之类。 其次,即便不是马上会重用的 View,因为数字 + 文字说明整体是一个 UIButton,所以我觉得在 Controller 中组装他不是很合理,还是会抽象成一个自定义的 View。
个人觉得最好还是封装一下,逻辑更清晰,要说不封装也没太大影响。
如果是我就不封装,直接在viewcontroller中加就行,觉得封装意义不大. 另外推荐你用storyboard直接可视化设计,简单易用,省了大量布局代码,且支持横屏自动布局,支持高度自动布局适应.
不封装没有问题,但是封装有利于管理,逻辑比较清楚,如果要改的话也比较好改。
自定义的UIView 封装也可以放到storyboard 里面啊。
比如
TTTAttributedLabel
继承UILabel
,在storyboard 里面把UILabel
拖上去,然后在 identity inspector 中把 Custom Class 改为TTTAttributedLabel
即可。