如何防止键盘出现在自定义警报视图上
Posted
技术标签:
【中文标题】如何防止键盘出现在自定义警报视图上【英文标题】:How to prevent the keyboard from appearing over a custom alert view 【发布时间】:2013-01-16 01:29:52 【问题描述】:我正在创建一个类似于 UIAlertView 的自定义警报视图。我遇到的是,当我的警报可见时 UITextField 在后台变为活动状态时,键盘会向上滑动。
如果我像这样将警报视图添加到主窗口:
[[[UIApplication sharedApplication] keyWindow] addSubview:myAlert];
它会出现在现有键盘上,但如果在出现警报后键盘变为活动状态,它仍然会被遮挡。
当从一个视图导航到另一个视图时,经常会发生这种情况。退出视图在退出时触发警报,下一个视图想要激活 UITextField 或其他东西。
【问题讨论】:
【参考方案1】:也许您可以将自定义警报视图添加到新窗口,并将此窗口的 windowLevel 设置为 UIWindowLevelAlert 或更高。
【讨论】:
【参考方案2】:我找到了一个非常好的方法和解释here。
【讨论】:
【参考方案3】:您是否尝试过覆盖该方法
- (BOOL)canResignFirstResponder
然后返回 NO ?
【讨论】:
以上是关于如何防止键盘出现在自定义警报视图上的主要内容,如果未能解决你的问题,请参考以下文章
在自定义视图中调用 onTouchEvent() 时防止 RecycleView 滚动