iOS5.0 UIPopoverController中的MFMailComposerViewController在键盘弹出时动画关闭屏幕

时间:2012-04-25 16:47:24

标签: objective-c ios5

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

0 个答案:

没有答案