当App来到前台时,调用self.viewDidAppear

Bra*_*don 2 iphone xcode objective-c ios

当用户将应用程序带到前台时,我想让我的应用程序再次调用viewDidAppear.

- (void)appReturnsActive{

    //THIS IS THE BIT THAT DOESNT WORK, BUT [self.viewDidLoad] DOES WORK
    [self.viewDidAppear];
}
Run Code Online (Sandbox Code Playgroud)

我正在我的viewDidAppear方法中创建appReturnsActive.效果很好:

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(appReturnsActive) name:UIApplicationDidBecomeActiveNotification 
object:nil];
Run Code Online (Sandbox Code Playgroud)

我可以做self.viewDidLoad,但我不能选择viewDidAppear.有谁知道我怎么可能让这个工作?

谢谢!!

Gro*_*oot 7

你只是称错了.它应该是

[self viewDidAppear:YES];
Run Code Online (Sandbox Code Playgroud)

但是,永远不应该调用this或viewDidLoad,viewWillAppear等任何一个.将要运行的代码放在viewDidAppear:(BOOL)单独的方法中并调用该方法.

希望能帮助到你!

  • 它是通过不手动调用OS通常调用的函数来防止不需要的行为. (2认同)