我正在开发一个应用程序,该应用程序具有一些包含在弹出窗口中的表单。我的问题是,当我单击任何文本输入字段并出现键盘时,弹出框缩小到屏幕的左上角(0,0),您看不到正在输入的字段。当您单击隐藏键盘按钮时,弹出框将返回其正常大小和位置。
当键盘出现时,有什么办法可以防止弹出框调整大小?
以下是屏幕截图,以防我的描述不充分。
编辑:这是弹出框如何在屏幕上显示的代码:
(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 中发生变化的任何想法?