iOS WKWebView监听video和键盘相关问题

当h5里面有video 标签的时候,监听video播放进入全屏,和退出全屏通知

1、添加监听UIWindowDidResignKeyNotificationUIWindowDidBecomeHiddenNotification

 [[NSNotificationCenter defaultCenter] addObserver:self
                                                     selector:@selector(videoBeginFullScreen)
                                                         name:UIWindowDidResignKeyNotification
                                                       object:nil];
            
 [[NSNotificationCenter defaultCenter] addObserver:self
                                                     selector:@selector(videoStopFullScreen)
                                                         name:UIWindowDidBecomeHiddenNotification
                                                       object:nil];

2、 实现监听事件

- (void)videoBeginFullScreen {
	//自定义实现
}

- (void)videoStopFullScreen {
    //自定义实现
}

3、移除监听事件,这个根据需要在合适的地方移除

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidResignKeyNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIWindowDidBecomeHiddenNotification object:nil];

4、注意的地方

添加通知的时候,如果是监听video进入全屏,同时也存在输入框的情况下,就不能使用下面的这个通知的监听 UIWindowDidBecomeVisibleNotification,因为无论是键盘弹起还是video进入全屏,都会触发该方法,如果不注意的话,可能会导致某些逻辑错误。

[[NSNotificationCenter defaultCenter] addObserver:self
                                                     selector:@selector(videoBeginFullScreen)
                                                         name:UIWindowDidBecomeVisibleNotification
                                                       object:nil];

5 、关于

UIKIT_EXTERN NSString *const UIWindowDidBecomeVisibleNotification; // 当window激活时并展示在界面的时候触发,返回空
UIKIT_EXTERN NSString *const UIWindowDidBecomeHiddenNotification;  // 当window隐藏的时候触发,暂时没有实际测,返回空
UIKIT_EXTERN NSString *const UIWindowDidBecomeKeyNotification;     // 当window被设置为keyWindow时触发,返回空
UIKIT_EXTERN NSString *const UIWindowDidResignKeyNotification;     // 当window的key位置被取代时触发,返回空

6、参考文档
https://developer.apple.com/documentation/uikit/uiwindowdidresignkeynotification?language=objc

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值