我有一个从.xib文件加载的topbarlogo(header)。我使用以下代码使视图适合屏幕显示,因为在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。任何帮助表示赞赏。

最佳答案

是的,当界面旋转时,不会再次调用viewDidLoad。如果没有限制,我通常会改用autoresizingMask。
topView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

08-04 22:08