美文网首页
遇到UIViewcontroller的view被下移的问题

遇到UIViewcontroller的view被下移的问题

作者: IreneWu | 来源:发表于2017-11-13 13:50 被阅读223次

同样一个detailController,被不同的父控制器push出来,controller的view会被下移64,另一种就正常显示。跟self.automaticallyAdjustsScrollViewInsets没什么关系。
1.试了

- (void)viewWillLayoutSubviews
{
    self.view.frame = CGRectMake(0, 0, 50, 50);
}

可以解决问题,但是会有一个view上移的动画效果,不希望看到移动。

2.试了self.extendedLayoutIncludesOpaqueBars = YES;
让view延伸到边界,居然解决了。
这个属性在状态栏不透明的状态下才生效。也就是说,一般使用这个属性应该这样使用:

// 状态栏不透明(必须设置,并且为NO)
self.navigationController.navigationBar.translucent = NO;
// 视图延伸不考虑透明的Bars(这里包含导航栏和状态栏)
// 意思就是延伸到边界
self.extendedLayoutIncludesOpaqueBars = YES;

// 意思就是空出导航栏位置
// self.extendedLayoutIncludesOpaqueBars = NO;

暂时是这么解决的,如果有朋友也遇到过,知道怎么解决请赐教!

另,又遇到push到一个隐藏导航栏的页面返回之后view下移的问题。
在隐藏导航栏时用方法就解决了:

    [self.navigationController setNavigationBarHidden:YES animated:YES];

相关文章

网友评论

      本文标题:遇到UIViewcontroller的view被下移的问题

      本文链接:https://www.haomeiwen.com/subject/gitzmxtx.html