我应该在哪里自定义IBOutlets
?
假设我已经创建了一个带有界面构建器的按钮,为它创建了一个IBOutlet,我希望在运行时更改属性(例如:背景颜色或本地化标题)。
我会考虑将其添加到viewDidLoad
方法,但尚未创建出口。 击>
我记得在viewDidLoad
中有零个出口,但我可能错了。
如果我移动viewWillAppear
,则每次出现视图控制器视图时都会执行代码。
我的IBOutlet
相关代码是否有更好的位置,所以它只执行一次?
显然,我可以只使用界面构建器并使用User defined runtime attributes
或本地化的stroryboards进行任何自定义,但我不喜欢这样,因为更改更加繁琐后面。
答案 0 :(得分:1)
我会考虑将它添加到viewDidLoad方法,但是将其添加到outlet 尚未创建。
这是一个错误的陈述,因为您只在创建IBOutlets后才收到viewDidLoad:
消息。因此,您可以安全地在viewDidLoad:
答案 1 :(得分:1)
来自Doc
它清楚地说明了在-viewDidLoad()
委托本身中加载到内存中的视图。
答案 2 :(得分:0)
假设你有一个想要自定义的按钮。您将按钮放在您想要的位置,然后打开右侧的“Identity Inspector”。
“自定义类”有一个文本字段:
我通常会创建UIButton / NSButton的子类(取决于iOS或OSX)并编辑此类文件中的行为,绘图方法和功能。然后在此文本字段中添加此类的名称。瞧!