Ios 我的UIView在旋转时不调整宽度
我有一个topbarlogo(标题),我从一个.xib文件加载它。我使用以下代码使视图适合屏幕,因为在xib中应用约束并不能使其适合屏幕(即使我希望我可以像往常一样对视图进行约束,但在xib中):Ios 我的UIView在旋转时不调整宽度,ios,objective-c,uiview,Ios,Objective C,Uiview,我有一个topbarlogo(标题),我从一个.xib文件加载它。我使用以下代码使视图适合屏幕,因为在xib中应用约束并不能使其适合屏幕(即使我希望我可以像往常一样对视图进行约束,但在xib中): 现在,当我将屏幕旋转到横向时,它将保持相同的宽度,而不是填充。我认为在旋转后重新绘制时会再次调用viewDidLoad。感谢您的帮助。是的,当界面旋转时,不会再次调用viewDidLoad。如果约束是不可能的,我通常喜欢使用autoresizingMask topView.autoresizingMa
现在,当我将屏幕旋转到横向时,它将保持相同的宽度,而不是填充。我认为在旋转后重新绘制时会再次调用viewDidLoad。感谢您的帮助。是的,当界面旋转时,不会再次调用viewDidLoad。如果约束是不可能的,我通常喜欢使用autoresizingMask
topView.autoresizingMask=uiviewsautoresizingflexiblewidth代码>使用自动布局对于不同尺寸的iPhone来说,生活会很轻松。刚刚工作顺利的情况下…:)我将研究一下为什么会这样。我想使用约束,但我不知道如何应用它们,因为我从nib加载我的视图(obv只包含需要缩放的视图),您知道如何创建新的UIView子类并在使用Coder从xib加载接口后重写Awakes,将普通UIView添加到情节提要中,并将该类设置为新的UIView子类,然后根据需要设置约束。我的xib视图实际上已经是UIView的子类,并且包含一个名为presentHeader:(UIViewController*)的方法。我将在使用Coder方法后研究唤醒,因为我根本不知道。我试图避免为我拥有的每个视图控制器创建UIView,因此使用presentHeader:方法。我感谢你的帮助。
- (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];
}