将我的项目升级到 iOS7 后,我的视图显示在状态栏下。后来我通过将以下代码添加到 DashBoardViewController(根导航控制器)viewdidAppear 来解决此问题
float systemVersion=[[[UIDevice currentDevice] systemVersion] floatValue];
if(systemVersion>=7.0f)
{
CGRect tmpFrame = self.navigationController.view.frame;
tmpFrame.origin.y = 20;
self.navigationController.view.frame = tmpFrame;
}
但是在我的 SettingsViewController 中,当我呈现模式视图以显示短信编写器时,在编写完成或再次取消状态栏下的视图之后。但是当回到 DashBoardViewController 视图恢复正常。我不知道该怎么办。我希望我能解释这个问题。我的代码和屏幕截图如下。
- >屏幕截图:
SettingViewController.m(显示 SMS 撰写和完成撰写方法)
- (IBAction)act_shareSMS:(id)sender {
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
NSString* message = @"adasdasd";
controller.body =message;
controller.messageComposeDelegate = self;
if([NavigationManager sharedManager].contentNavigation)
[[NavigationManager sharedManager].contentNavigation presentModalViewController:controller animated:YES];
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
[[NavigationManager sharedManager].contentNavigation dismissModalViewControllerAnimated:YES];
if (result == MessageComposeResultCancelled) {
NSLog(@"Message cancelled");
}
else if (result == MessageComposeResultSent) {
NSLog(@"Message sent");
}
}