我的UIImageView
视图中有一个viewController
对象,预装了方向盘图片。但是,车轮的旋转由一天中的时间决定。因此,当程序启动时,我喜欢通过当前时间的正确旋转基础来初始化轮子。我尝试在控制器的viewDidLoad
方法中进行旋转。虽然这有效,但可以根据时间明显地看到初始位置和切换到新位置。
我喜欢初始化是不可见的,即在加载视图之前进行的初始化。我应该在哪里做?
答案 0 :(得分:2)
我喜欢初始化是不可见的,即初始化 在加载视图之前发生。我应该在哪里做?
只要访问控制器的view
属性,就会加载视图控制器的视图,并在此时调用-viewDidLoad
。设置代码以在-viewDidLoad
中设置视图是正确的做法。您无法在加载视图之前初始化视图,因为它在加载之前不存在,但您应该能够在显示之前进行设置。
如果您在-viewDidLoad
中没有做任何会导致轮盘设置延迟到以后某个时间点的任何内容,那么您可能会尝试稍早加载视图控制器的视图。例如,您可以在视图控制器中实现-prepareForSegue:sender:
,以便它访问view
属性,这将导致视图被加载。
答案 1 :(得分:0)
您还可以创建一个继承自UIView的自定义类,并在didMoveToWindow方法中设置一些自定义内容(在您的情况下设置旋转变换)。