3 回答

TA貢獻(xiàn)1798條經(jīng)驗 獲得超3個贊
if (viewController.isViewLoaded && viewController.view.window) { // viewController is visible}
if viewController.viewIfLoaded?.window != nil { // viewController is visible}

TA貢獻(xiàn)1828條經(jīng)驗 獲得超13個贊
以下是@progrmr的解決方案UIViewController類別:
// UIViewController+Additions.h
@interface UIViewController (Additions)
- (BOOL)isVisible;
@end
// UIViewController+Additions.m
#import "UIViewController+Additions.h"
@implementation UIViewController (Additions)
- (BOOL)isVisible {
return [self isViewLoaded] && self.view.window;
}
@end

TA貢獻(xiàn)1836條經(jīng)驗 獲得超3個贊
UISplitViewController
if(viewController.isViewLoaded && viewController.view.window) { //Always true for master view in split view controller}
- (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; //We are now invisible self.visible = false;}- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; //We are now visible self.visible = true;}
- 3 回答
- 0 關(guān)注
- 452 瀏覽
添加回答
舉報