2015-07-20 74 views
0

我正在创建新的UIViewController,但在显示它之前等待几秒钟。 事情是我想viewDidLoad被调用之前,我实际上显示现在的对象。我怎样才能让viewDidLoad运行?原因viewDidLoad运行

目前我在做这样的事情:

UIView *tempView = newObject.view; 

但我真的不喜欢这样的解决方案。

回答

0

看起来就像只是打电话[newObject view];诀窍!

0

如果存在想要运行的代码,并希望在实例化视图时调用该代码,那么只需将其放入init方法即可。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName: nibNameOrNil 
          bundle: nibBundleOrNil]; 
    if (self) 
    { 
     // Custom stuff 
    } 
    return self; 
} 

是否有另一个原因,你为什么要调用viewDidLoad

+0

我在那里运行的一些代码涉及视图对象 – YogevSitton

0
- (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; 
      }]; 
     }]; 
} 
0

viewDidLoad总是在对象显示在屏幕前调用。 如果你想延迟一些,你可以在viewDidLoad或viewDidAppear中设置一些延迟代码。但为什么你需要延迟,可能有其他解决方案来解决你的问题。

相关问题