键盘显示时 uipopover 隐藏

Posted

技术标签:

【中文标题】键盘显示时 uipopover 隐藏【英文标题】:uipopover hides when keyboard shows 【发布时间】:2012-08-06 11:26:55 【问题描述】:

我有一个带有 UItextfield 的 UIpopover,当我打开 popover 并点击 uitextfield 然后键盘显示,但它隐藏了 popover。如何在不隐藏 UIpopover 的情况下显示键盘? 我在 UIWebView 中调用 popover,因为我使用的是 cordova 1.8.1,但我也在 UIView 中尝试过,它也隐藏了。 这里调用 UIpopover 的代码:

if (popEl==nil)
    popEl=[[Popover alloc] init];

if (pcs==nil)
    pcs=[[UIPopoverController alloc] initWithContentViewController:popEl];
    pcs.delegate=self;

[pcs presentPopoverFromRect:CGRectMake(0, 0, 1, 1) inView:self.webView permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];

附:对不起我的英语,我来自乌克兰。

【问题讨论】:

【参考方案1】:

首先我建议你阅读UIPopOverController的苹果文档

对于您的问题,我认为您必须处理键盘的出现和消失,这是处理此问题的解决方案Check it

【讨论】:

你不理解我,我在文本字段键盘显示上打开弹出框点击,但弹出框隐藏(不调用 popoverControllerDidDismissPopover 或 popoverControllerShouldDismissPopover)。当键盘显示时,我需要在屏幕上留下弹出框。 您必须实现自己的键盘才能执行此操作。 check this它解决了你的问题 我发现了问题,我设置了 UIPopoverArrowDirectionAny 并且它可以工作,之前它是 UIPopoverArrowDirectionUp UIPopoverArrowDirectionUp 是解决方案,太棒了!你拯救了我的一天 SergeyM! :-)【参考方案2】:

您的问题是,当您单击 textField 时,应该会出现弹出视图,对吗?如果是,则在添加 popoverview 之前添加此代码,

[textField resignFirstResponder];

【讨论】:

以上是关于键盘显示时 uipopover 隐藏的主要内容,如果未能解决你的问题,请参考以下文章

从自定义 UIPopOver 问题推送新的 UIViewController

自定义 UIPopover

如何从另一个 UIPopover 控制器打开 UIPopover 控制器?

UIPopover 中的 UIDatePicker

从另一个 Popover 中关闭显示为 Popover segue 的 ViewController

自定义material-ui popover [重复]