练习做一个自定义控件。需要支持3种布局方式
- Interface Builder
- initWithFrame
- init 加 AutoLayout
自定义控件是评分控件StarSlider
,有五颗星星。
##设计 在View中放下5个ImageView。每一个ImageView的间距是一样的,这需要知道View的Size。
如果通过initWithFrame初始化的话,马上就能知道size了。但是用AutoLayout后size在初始化的时候是不确定的。
layoutSubviews
方法调用的时候,size已经确定了,我在这个方法里面更新ImageView的位置。而且layoutSubviews
也会在initWithFrame
后触发。
效果图:
来源:oschina
链接:https://my.oschina.net/u/256571/blog/480251