iOS开发 在导航栏不透明的情况下xib加载View高度少了64

今天在UIViewController的view上添加一个xib画的自定义view,结果莫名其妙被添加view高度少了64


然后就总结了下

触发条件

1.导航栏不透明  也就是你设置了self.navigationController.navigationBar.translucent = NO;

2.view添加在非滑动视图上


解决办法

第一种:

代码alloc一个view  然后将目标view添加在alloc的view上,将alloc的view添加到UIViewController的view上

如下 要添加的view是theView , alloc的view是bgView

UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 105)];
    bgView.backgroundColor = [UIColor redColor];
    TheView *theView = [[[NSBundle mainBundle] loadNibNamed:@"TheView" owner:nil options:nil] lastObject];
    theView.frame = CGRectMake(0, 0, 320, 100);
    [bgView addSubview:theView];
    [self.view addSubview:bgView];

第二种:

iOS开发 在导航栏不透明的情况下xib加载View高度少了64_第1张图片

传言将这个autoresizesSubviews的勾去掉就行了  但是我的去掉不行     


你可能感兴趣的:(iOS开发 在导航栏不透明的情况下xib加载View高度少了64)