如果我以编程方式创建UIView并且我希望更改UIView属性(例如,背景,或实际上,搞乱CALayers),我是否必须将代码置于UIView之外,例如在View控制器中?我可以把代码放在UIView里面吗?
我正在检查CoreAnimationKioskStyleMenu示例,它的代码在UIView中,但它是从Nib加载的,可以放在awakeFromNib中,所以它似乎不适用于我的情况。
答案 0 :(得分:1)
这取决于。显然,处理此问题的一个好方法是使用xib文件,因为它设计用于保存这样的数据,但对于每种情况,这并不总是最佳答案。
如果要在整个应用程序中频繁地重复使用视图(如按钮或某个小部件),最好将所有自定义存储在UIView的子类中。
如果它是一个始终由UIViewController管理的单个较大视图,则可以在UIViewController中保留一些信息。但是,如果你最终继续子类化UIView,最好将数据保存在UIView中。
总的来说,我认为值得您花时间使用界面构建器将这些数据推送到xib中。如果要修改它,通过代码填充的魔术值(如颜色或大小)将始终是一个问题。我发现修改xib要容易得多。
答案 1 :(得分:1)
实际上有一些方法可以放置初始化/自定义代码。
,此时您已经拥有了框架和所有属性,并且您可以根据需要进行进一步的自定义。
希望这有帮助。