1

一张图片胜过千言万语:

在此处输入图像描述

该应用程序通过关闭代码中的状态栏设置为全屏。每个 UIViewController 都是全屏的。他们都按预期行事。也没有旋转,整个应用程序保持纵向。这也很好。

“新消息”界面按预期动画,但状态栏重新出现,最糟糕的是,“新消息”视图位于其下方。

我正在使用 MessageUI 框架让用户发送 SMS 消息。以下是消息撰写界面的呈现方式:

if([MFMessageComposeViewController canSendText])
{
    MFMessageComposeViewController *msgvc = [[MFMessageComposeViewController alloc] init];
    msgvc.body = @"SMS message content";
    msgvc.recipients = [NSArray arrayWithObjects:@"1234567890", @"2345678901", nil];
    msgvc.messageComposeDelegate = self; 
    [self presentModalViewController:msgvc animated:YES];

    [msgvc release];
}

我试着玩,wantsFullScreenLayout但它完全没有做任何事情。我通过谷歌找到了一些关于这个问题的参考,但没有解决方案。

4

1 回答 1

0

这是我解决问题的方法:

我在将 MessageUI 视图控制器显示为重新隐藏状态栏后添加了这一行代码:

[self presentModalViewController: msgvc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[msgvc release];

即使应用程序以全屏模式启动(在应用程序委托中的代码中设置),MessageUI 似乎也需要重新处理状态栏。

于 2012-07-08T03:49:48.503 回答