【问题标题】:Pressing on "Done" button while playing a YouTube video dismisses the rootViewController在播放 YouTube 视频时按下“完成”按钮会关闭 rootViewController
【发布时间】:2012-01-15 06:08:54
【问题描述】:

我有 UINavigationController 需要在我的根 UINavigationController 之后使用 storyBoard segue 显示。

[self performSegueWithIdentifier:@"LoginViewController" sender:self];

这个storyBoard segue是Modal。 在这个 LoginViewController 之上,我使用 sn-p here 嵌入了 YouTube 视频。

在播放视频时,按下“完成”按钮将导致我的 LoginViewController 与视频一起被关闭。 视频结束时也会发生这种情况。

有没有办法处理“完成”按钮?是否有任何通知让我知道视频何时结束?

提前致谢

【问题讨论】:

    标签: ios uinavigationcontroller


    【解决方案1】:

    我发现一条通知可以帮助我知道视频何时结束,但您必须小心使用它。 显然,当 YouTube 视频播放时,它会出现在 UIWindow 的顶部,因此在您触发视频之前注册 UIWindowDidBecomeVisibleNotification 通知。像这样:

       [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowNowVisible:)
             name:UIWindowDidBecomeVisibleNotification
             object:self.view.window
             ];
    

    当视频结束时, UIWindow 再次可见,您应该在那里删除通知。

    【讨论】:

      【解决方案2】:

      将 UITextfield 委托添加到您的类,然后将您的 uitextfield 的委托属性设置为“self”。

      使用以下方法处理“完成”(也称为“返回”)键:

      - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
      [textField resignFirstResponder];
          return NO;
      }
      

      【讨论】:

      • 感谢您的回答。我发布了我最终使用的调整。
      猜你喜欢
      • 2014-10-05
      • 2012-07-09
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多