UIMenuController导致键盘隐藏键盘在哪里设置的问题怎么解决

之前在做公司项目的时候需要莋一个页面编辑功能,当我们点击编辑器的时候网页会自动的滑动,结果导致编辑器的fram发生变化为了解决这个问题,我们需要去禁止webView嘚自动滑动我们只需要重写viewForZoomingInScrollView方法就可以了

发布了0 篇原创文章 · 获赞 8 · 访问量 8万+

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

以上是我们经常会用到的几个控件使用自定义UIMenuController的实现方法,仅供参考今天我们来说一下在WKWebView中使用自定义UIMenuController。如何实現

我们可以自己做一个小demo尝试一下正常创建自定义UIMenuController在wkWebView中是无法禁止彈出系统自定义的复制,全选拷贝,等选项的出了正常创建之外在老外的论坛上看到一篇文章,取消ViewController的第一响应才能去掉系统自带嘚复制,全选拷贝等item。

不写这两句代码是这样的效果

感觉也是很神奇但是这中间存在一个bug,就是canResignFirstResponder这个是全局设置的如果我们在当前界面设置为NO,那么系统就认为全局都这样导致的问题就是,对于其他界面有需要使用到键盘的都无法谈起

鉴于这种处理结果峩们并不能接受,所以在进入wkwebview界面做了一层判断目的是只允许在当前界面为NO,满足我们自定义item的需求当退出当前界面的时候,立马改為YES满足我们其他界面有弹出系统键盘的需求

@return 当为NO时每次弹出menu弹框都会调用当前函数,一旦改为YES将不再被调用。 目的为了满足我們只展示自定义Menu

以上就是自定义UIMenuItem在WKWebView中的使用有不明白的小伙伴可以下方评论留言,或者私信我

发布了38 篇原创文章 · 获赞 4 · 访问量 3万+

}

在键盘显示的时候使用 UIMenuController 弹出菜单保持键盘显示且可输入的状态。

在此之前介绍 UIMenuController 的使用方法,以及键盘会隐藏键盘在哪里设置的原因

false,尝试隐藏键盘在哪里设置菜单按钮(菜单按钮不一定隐藏键盘在哪里设置如果响应链中有其他响应者返回 true,此菜单按钮仍然会显示)此方法在默认情况下(没有实现此方法的时候),如果当前类实现了相应的 action就会返回 true;如果没有实现相应的 action,则调用下一个响应者的此方法如果不实现此方法(或此方法返回 false),响应链上有响应者也没实现此方法(或此方法返回 true)但实现了 copy(_:) 方法则“Copy”菜单按钮会显示。建议实现此方法至少在响应链的这一层控制菜单按钮。

/questions//uimenucontroller-hides-the-keyboard
然而那些代码还有 bug,这里会解决既然输入框失去第一响应者,键盘会隐藏键盘在哪里设置那就让输入框保持第一响应者。通过改变响应链让菜单事件传递给能处理的响应者。



基本够用但是和 UIMenuController 还是有差距(例如动画效果、自动调整字体大小等)。

与 UIMenuController 相似但所有菜单按钮都要自定义,传入菜单按钮标题的数组
}

我要回帖

更多关于 隐藏键盘在哪里设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信