我的UIView没有调整旋转宽度

时间:2014-11-26 15:55:19

标签: ios objective-c uiview

我有一个从.xib文件加载的topbarlogo(标题)。我使用以下代码使视图适合屏幕,因为在xib中应用约束不能使其适合屏幕右侧(即使我希望它如果我可以像往常一样对视图进行约束,但是xib):

- (void)viewDidLoad {
   [super viewDidLoad];
   NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"RaymioHeaderView" owner:nil options:nil];
   CGRect screenBounds = [[UIScreen mainScreen] bounds];
   UIView *topView = [nibContents lastObject];
   topView.frame = CGRectMake(0, 0, screenBounds.size.width, 78);
   [self.view addSubview:topView];
}

现在,当我将屏幕旋转到横向时,它会保持相同的宽度而不是填充。我有点认为在旋转后重绘时会再次调用viewDidLoad。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

是的,当界面旋转时,不会再次调用viewDidLoad。如果约束是不可能的,我通常喜欢使用autoresizingMask。

topView.autoresizingMask = UIViewAutoresizingFlexibleWidth;