以下のコードを使用して、iOS7 の statusBar に適応するようにビューを調整します
- (void) adjustViewAdaptToiOS7 {
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect screen = [[UIScreen mainScreen] bounds];
if (self.navigationController) {
CGRect frame = self.navigationController.view.frame;
frame.origin.y = 20;
frame.size.height = screen.size.height - 20;
self.navigationController.view.frame = frame;
} else {
if ([self respondsToSelector: @selector(containerView)]) {
UIView *containerView = (UIView *)[self performSelector: @selector(containerView)];
CGRect frame = containerView.frame;
frame.origin.y = 20;
frame.size.height = screen.size.height - 20;
containerView.frame = frame;
} else {
CGRect frame = self.view.frame;
frame.origin.y = 20;
frame.size.height = screen.size.height - 20;
self.view.frame = frame;
}
}
}
}
pushViewController でうまく機能します
[self.navigationController pushViewController :vViewController animated:true];
しかし、
presentModalViewController
[self presentModalViewController:vViewController animated:true];
statusBar/iOS7 を調整する上部にギャップ 20 ピクセルはありません
ios6/7 デルタを -20/20 に設定しても、何も役に立たず、私にとってはうまくいきます
あなたのコメント歓迎