我正在使用 MFMessageComposeViewController 来显示 SMS 发送界面。
我的应用程序使用全屏,状态栏被 plist 文件中的设置隐藏(状态栏最初是隐藏的 = YES)。
当我显示消息编辑器时:
+(void)composeSMS:(id)sender
{
if (![MFMessageComposeViewController canSendText]) return;
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.wantsFullScreenLayout = YES;
controller.messageComposeDelegate = sender;
[controller setBody:@"He descubierto un App estupenda! . "];
[controller setModalPresentationStyle:UIModalTransitionStyleFlipHorizontal];
if (controller) [sender presentModalViewController:controller animated:YES];
[controller release];
}
问题是当显示 composer 时,导航栏位于顶部 y = 0,但在该栏和 View 的其余导出之间出现与状态栏大小相同的空白空间。状态栏显示在此屏幕中(第二期),但与 Composer View 的导航栏重叠。
在其他不隐藏状态栏的项目中,这很有用。但这是第一个在没有状态栏的情况下使用它的项目,而且这种情况正在发生。
有人知道怎么解决吗?
谢谢。
最佳答案
在模态显示消息 Controller 后隐藏状态栏。像这样:
controller.wantsFullScreenLayout = NO;
[self presentModalViewController:controller animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
关于objective-c - MFMessageComposeViewController 未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927337/