我有一个在 iOS4.x 上运行良好的应用程序,在大多数情况下在 iOS5.0 上运行良好。但是,我注意到我的“发送电子邮件”功能存在问题。
我在 iPad 的 UIPopoverController 中有一个 MFMailComposerViewController。这在 iOS4.x 上工作得很好,但在 iOS5.0 上,当键盘弹出以输入(例如)目标电子邮件地址时,UIPopoverController 会在屏幕上显示动画。当键盘被关闭时, UIPopoverController 动画回到屏幕上。看起来不错,但不是很有用。这不会发生在 iOS4.x 上。
我尝试更改 UIPopoverController 的内容大小,以使键盘不会覆盖弹出框的任何部分,但仍会在屏幕外导航。下面的代码片段。我不得不认为这是我没有看到的明显的东西。任何想法将不胜感激。
我应该补充一点,我在测试期间在模拟器中看到了这种行为——我没有运行 iOS5.0 的 iPad。
MFMailComposeViewController *mailController;
mailController = [[[MFMailComposeViewController alloc] init] autorelease];
mailController.mailComposeDelegate = self;
[mailController setSubject:@"email subject"];
[mailController setMessageBody:@"email message body" isHTML:NO];
[[[UIApplication sharedApplication] keyWindow] setRootViewController:self];
mailPopoverController = [[UIPopoverController alloc] initWithContentViewController: mailController];
[mailPopoverController setDelegate:self];
[mailPopoverController presentPopoverFromRect:CGRectMake(keyWindow.bounds.size.width / 2.0, 0.0f, 1.0f, 1.0f)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:NO];