我有一个适用于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];