我正在创建新的UIViewController
,但在显示它之前等待几秒钟。 事情是我想viewDidLoad
被调用之前,我实际上显示现在的对象。我怎样才能让viewDidLoad
运行?原因viewDidLoad运行
目前我在做这样的事情:
UIView *tempView = newObject.view;
但我真的不喜欢这样的解决方案。
我正在创建新的UIViewController
,但在显示它之前等待几秒钟。 事情是我想viewDidLoad
被调用之前,我实际上显示现在的对象。我怎样才能让viewDidLoad
运行?原因viewDidLoad运行
目前我在做这样的事情:
UIView *tempView = newObject.view;
但我真的不喜欢这样的解决方案。
看起来就像只是打电话[newObject view];
诀窍!
如果存在想要运行的代码,并希望在实例化视图时调用该代码,那么只需将其放入init
方法即可。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName: nibNameOrNil
bundle: nibBundleOrNil];
if (self)
{
// Custom stuff
}
return self;
}
是否有另一个原因,你为什么要调用viewDidLoad
?
- (void) viewDidLoad {
[super viewDidLoad];
self.view.alpha = 0; //When alpha = 0, it is also hidden
[UIView animateWithDuration:2.0f animations:^{
// Nothing to animate here
} completion:^(BOOL finished) {
// On animation completion show the content of the view, also animated.
[UIView animateWithDuration:0.5f animations:^{
self.view.alpha = 1;
}];
}];
}
viewDidLoad总是在对象显示在屏幕前调用。 如果你想延迟一些,你可以在viewDidLoad或viewDidAppear中设置一些延迟代码。但为什么你需要延迟,可能有其他解决方案来解决你的问题。
我在那里运行的一些代码涉及视图对象 – YogevSitton