ios - 确定 viewWillAppear 是来自打开应用程序还是取消选择模态

标签 ios objective-c uiviewcontroller

我目前正在初始屏幕上加载有关应用加载的数据。这发生在我的 viewWillAppear 中。我还有一个在此屏幕上弹出的模式,关闭时执行与在 viewWillAppear 中加载数据相同的逻辑。

如何只在应用程序打开时加载数据,而不是在模式关闭时加载?

最佳答案

UIViewController 提供了确定这一点的方法:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    if ([self isBeingPresented] || [self isMovingToParentViewController]) {
        // being presented or pushed
    } else {
        // showing again because another VC was dismissed
    }
}

关于ios - 确定 viewWillAppear 是来自打开应用程序还是取消选择模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985060/

相关文章:

ios - 无法使用 UIViewPropertyAnimator.fractionComplete 驱动 UIView.transition

ios - Swift - 如何知道循环何时结束?

iOS 11 顶部项目检查 UINavigationBar

ios - Objective C/Swift 如何打开 base64 url​​?

ios - 单击按钮以编程方式切换 UIViewControllers

iphone - 如何完成交互式 UIViewController 过渡?

ios - Swift:将 NSObject 转换为其他类型的 UI 对象

iphone - Objective-C:解析.m3u文件以获得.mp3

objective-c - 仅出现在存档的 Mac OS X 产品中的错误

ios - 代码 : Invalid redeclaration of 'ViewController'