当我在我的应用中展示MFMessageComposeViewController时,我发现了这个奇怪的问题!
我不知道这个黑条是什么,我无法从NavigationBar中删除应用徽标。
以下是呈现控制器的代码
MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
[[messageController navigationBar] setBarTintColor:SMAN_ORANGE_COLOR];
[[messageController navigationBar] setTintColor:[UIColor whiteColor]];
messageController.messageComposeDelegate = self;
[messageController setRecipients:recipents];
[messageController setBody:message];
// Present message view controller on screen
[self presentViewController:messageController animated:YES completion:nil];
答案 0 :(得分:1)
要删除应用徽标,请尝试在上面的代码中添加以下代码:
messageController.navigationItem.titleView = [UIImageView new];
要更改状态栏样式(白色),请在显示 messageController 之前添加以下代码:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
同样在 .plist 文件集中:
查看基于控制器的状态栏外观到否
答案 1 :(得分:0)
我解决了我的UINavigationController子类化并用[UINavigationBar appearanceWhenContainedIn:[myNavControllerSubclass class], nil]
改变它的外观的问题
答案 2 :(得分:0)
[self presentViewController:messageController animated:YES completion:^{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
}];
这适用于ios 8中的白色状态栏
也请参阅答案#1。
答案 3 :(得分:-1)
根据Apple's documentation,您只能以模态方式呈现。
[self presentModalViewController:messageController animated:YES];