【问题标题】:How a Page View Controller can pause the Root View Controller from running. (xcode)页面视图控制器如何暂停根视图控制器的运行。 (xcode)
【发布时间】:2014-11-22 15:45:16
【问题描述】:

我的应用以 View Controller(初始) 开头。在此视图控制器上,我会显示一条倒计时消息(使用 NSTimerscheduledTimerWithTimeInterval),当用户打开应用(viewDidLoad 方法)。 在设置菜单中(第二个 View Controller(modal segue 到初始)有一个“Tutorial”菜单选项,它会导致 Page View Controller 处理几个 View Controllers 并将它们呈现为表单)。 此页面视图控制器的最后一页有一个“确定”按钮,用于关闭页面视图控制器(所以根据我的 Storyboard)将您带回设置菜单。

到目前为止,一切都很好。

现在当用户运行应用程序时,我从 initial View Controller 调用 viewDidAppear 方法和使用 NSUserDefaults 我会检查这是否是用户第一次运行应用程序。如果是,它会创建一个 Page View Controller 实例,用于显示(作为表单)教程。这是我的问题..初始视图控制器按预期在后台运行..但是我如何暂停倒计时消息,直到用户关闭教程(按确定按钮)?

注意:我刚刚注意到,如果您更改页面视图控制器 演示为“全屏”或在 iphone 上运行应用程序而不是 ipad(强制全屏演示)应用程序运行正常,但是,我 假设,是因为在这种情况下(全屏演示)初始 视图控制器在页面视图控制器被加载之前不会加载 被解雇了!

【问题讨论】:

    标签: ios objective-c viewcontroller uipageviewcontroller


    【解决方案1】:

    我认为您的 PageViewController 引用了他的父视图控制器 (InitialViewController),因此您必须将 NSTimer 定义为 InitialViewController property

    【讨论】:

      【解决方案2】:

      您可以使用全球应用通知系统让您的rootViewController 了解外部事件。查看NSNotificationCenter 类参考。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 1970-01-01
        相关资源
        最近更新 更多