【问题标题】:Why isn't WKAlertAction Showing?为什么不显示 WKAlertAction?
【发布时间】:2015-12-07 19:40:24
【问题描述】:

我想使用 watchkit 扩展 (watchOS2) 显示像 UIAlertview 这样的警报视图, WKAlertAction 未显示在 willActivate 中。

但它会在点击按钮等触发后显示。

有什么错误吗?

- (void)willActivate {

   [super willActivate];


   WKAlertAction *alertButtonAction =

   [WKAlertAction actionWithTitle:@"confirm"
                            style:WKAlertActionStyleDefault
                          handler:^{}];

  [self presentAlertControllerWithTitle:@"title"
                              message:@"message"
                       preferredStyle:WKAlertControllerStyleAlert
                              actions:@[alertButtonAction]];
}

环境:Xcode 7 GM 种子

【问题讨论】:

    标签: ios9 xcode7 watchos-2


    【解决方案1】:

    我遇到了完全相同的问题。

    WatchOS 应用似乎无法在应用启动后立即显示警报

    我将用于创建和显示警报的代码移到 dispatch_after(作为实验)并延迟执行 3 秒。

    然后一切正常。

    【讨论】:

      【解决方案2】:

      在分页导航的“第二页”控制器中,我也遇到了同样的问题。然后我注意到有时willActivate 会被触发,即使segue 中的页面不会显示(awakeWithContext 也会发生同样的事情,但这已由 Apple 记录)。

      所以我将警报的演示文稿移到 didActivate 中,现在它可以工作了。我还试验了 Maciej 的解决方案,同时将警报留在 willActivate:它显示(我很想知道为什么)但当然,就我而言,在错误的页面控制器上(即第一个也是唯一一个真正激活的页面) .

      【讨论】:

      • 我在 WatchKit 中找不到 didActivate。 ?
      猜你喜欢
      • 1970-01-01
      • 2016-02-16
      • 2012-06-29
      • 2021-01-15
      • 2021-08-29
      • 2013-02-04
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多