在哪里最好的地方.[iPhone]



在uiviewControllers中,我有几种方法,例如 viewDidload viewwillappear viewDidappear 等。问题是:"例如,设置我的视图的背景颜色,实例化并设置uilabel的背景颜色的最佳地点是什么,或者实例化了我在课堂中设置为@property的对象以及类似的东西那?"

谢谢!

一次有很多问题!

第一次加载视图时,在viewDidLoad中,您已经可以访问所有容易初始化的UI元素,因此它是配置视图并设置类属性的好地方。

如果您已经加载了视图(例如,从导航控制器中弹出视图或删除模态视图控制器),则不会调用viewDidLoad。因此,如果您想更改某些内容(背景,添加标签,更改标签的背景等),则基于自初始化的视图控制器以来可能发生的事情,则必须使用viewWillAppear

如果要对更改进行动画更改,则将使用viewDidAppear,以便在视图已看到后可以看到它。

编辑:如果您使用IB或情节板,这是相关的。请参阅Citronevanescent在代码中创建视图的情况。

可行方法是viewDidLoad-(id)init-(id)initWithNibName类的构造函数。 viewWillAppearviewDidAppear应该避免,因为您不想一次又一次地实例化变量,因为它们每次出现时都会被调用(从pop或tabswitch出现)。如果您想更改某些变量值,这些方法可能很有用关于重新出现

如果要创建视图程序,则可以在- (void) loadView上设置属性,此方法将在显示任何内容之前被调用一次。

通常,我更喜欢在-(id) init中实例化UI元素,并在loadView中更新其UI。

有关更多详细信息:查看施工参考

最新更新