在将我的项目升级到iOS7之后,我的视图显示在bar.Later状态下,我通过向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中,当我呈现模式视图以显示sms composer时,编写完成后或再次取消状态栏下的该视图。但当恢复到DashBoardViewController时,视图又恢复正常。该怎么办呢。我希望我能解释这个问题。我的代码和截图如下。
->ScreenShots:

SettingViewController.m (显示SMS compose和finish compose方法)
- (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");
}
}发布于 2014-01-11 23:54:00
此更改是对iOS 7的有意更改,这应该有助于您处理它http://www.doubleencore.com/2013/09/developers-guide-to-the-ios-7-status-bar/
尝试在视图控制器子视图上使用iOS 6/7增量来自动修复此问题

将增量Y设置为20,它会自动将其下移
https://stackoverflow.com/questions/21064221
复制相似问题