ike*_*8me 14 objective-c uiviewcontroller nsnotification nsnotificationcenter ios
如何检查UIViewController当前是否正在显示?
我UIViewControllers正在倾听NSNotifications- 即使它们没有显示(即未显示).所以,我可以有10个UIViewController在背景中观察NSNotifications的NSNotificationCenter.当a NSNotification发布和接收时UIViewController,我想知道它是否正在显示.如果不是,我将设置一个布尔值,以便在显示视图时处理它.如果它当前正在显示,我会做更多的事情,比如立即更新表,等等......
iDe*_*Dev 15
您需要检查您的viewcontroller是否位于navigationcontroller的viewcontroller数组的堆栈之上.示例代码是,
if (self.navigationController.topViewController == self) {
//the view is currently displayed
}
Run Code Online (Sandbox Code Playgroud)
您可以在viewWillAppear方法中使用此方法来检查当前视图是否可见.
检查它是否附在窗户上.如果不是nil它在层次结构中附加到屏幕上(当然它可能超出屏幕界限,被其他视图覆盖或设置隐藏标志)
if (myViewController.view.window) {
// I'm attached to the window
} else {
// not attached to the window
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10957 次 |
| 最近记录: |