我正在研究一个应用程序,该应用程序有一些弹出窗口中包含的窗体。我的问题是,当我点击任何文本输入字段并且键盘出现时,弹出窗口缩小到屏幕的左上角(0,0),并且看不到要输入的字段。当您单击隐藏键盘按钮时,弹出窗口将恢复到其正常大小和位置。弹出式键盘在iPad上出现键盘时左上角收缩
当键盘出现时,有什么办法可以防止弹出窗口的大小调整吗?
这里是屏幕截图,以防我的描述不充分。
编辑:下面是酥料饼的是如何在屏幕上呈现的代码:
(void)displayPopoverForOrientation:(UIInterfaceOrientation)orientation {
if ([Utilities getAppDelegate].menuPopover) {
CGRect rect = CGRectMake(0, 0, 0, 0);
if (orientation == UIInterfaceOrientationLandscapeLeft ||
orientation == UIInterfaceOrientationLandscapeRight) {
if (self.currentPopover == RESERVATIONS_POPOVER) {
rect = CGRectMake(365, 0, 0, 0);
} else if (self.currentPopover == ACCOUNT_POPOVER) {
rect = CGRectMake(600, 0, 0, 0);
} else if (self.currentPopover == RESORTS_POPOVER) {
rect = CGRectMake(0, 0, 0, 0);
}
}
[[Utilities getAppDelegate].menuPopover presentPopoverFromRect:rect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
}
}
的酥料饼的内部,在一个XIB的布局设置一个单独的视图控制器。 随意提出任何问题,我对iOS和Objective C相当陌生,但我并不陌生,所以我会尽我所能来澄清。
编辑2: 我发现这只发生在iOS 5中。在较早版本的iOS中,弹出窗口只是垂直折叠,直到键盘有足够的空间。有关iOS 5中为什么此行为已更改的任何想法?
代码会有帮助。你如何在屏幕上呈现popover? –
我觉得应该有一些rect的转换。因为您的视图已转换为横向。无法从需要的内存中获取代码。 –
' - (CGRect)convertRect(CGRect *)rect fromWindow:(UIWindow)window'你需要像这种方法之类的东西,然后呈现popover。我认为。 –