Ios 图幅不向下移动20px(状态栏的高度)

Ios 图幅不向下移动20px(状态栏的高度),ios,iphone,ios7,ios8,Ios,Iphone,Ios7,Ios8,我使用下面的代码演示vViewController1 @property (retain,nonatomic) ViewController1 *vViewController1; 从rootViewController推送VVIEWController 1 [self.navigationController pushViewController:vViewController1 animated:NO]; Viewcontroller1的视图将出现 - (void) viewW

我使用下面的代码演示vViewController1

  @property (retain,nonatomic) ViewController1 *vViewController1;

从rootViewController推送VVIEWController 1

  [self.navigationController pushViewController:vViewController1 animated:NO];
Viewcontroller1的视图将出现

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];


    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;

            }
        }
    }  

}
但它显示如下,并且不会向下移动状态栏的20px高度


欢迎您发表评论

假设您在播放帧尺寸时未使用自动布局,则在情节提要中选择ViewController,然后转到“尺寸检查器”小标尺,然后根据查看模式将视图更改的Y增量调整为20或-20


这可能会有所帮助,尽管我不确定Y中的18值,但我一直认为它是20

我不使用故事板,只查看而不使用自动布局,我的代码在ios7中工作,但在ios8中失败