Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我的UIView在旋转时不调整宽度_Ios_Objective C_Uiview - Fatal编程技术网

Ios 我的UIView在旋转时不调整宽度

Ios 我的UIView在旋转时不调整宽度,ios,objective-c,uiview,Ios,Objective C,Uiview,我有一个topbarlogo(标题),我从一个.xib文件加载它。我使用以下代码使视图适合屏幕,因为在xib中应用约束并不能使其适合屏幕(即使我希望我可以像往常一样对视图进行约束,但在xib中): 现在,当我将屏幕旋转到横向时,它将保持相同的宽度,而不是填充。我认为在旋转后重新绘制时会再次调用viewDidLoad。感谢您的帮助。是的,当界面旋转时,不会再次调用viewDidLoad。如果约束是不可能的,我通常喜欢使用autoresizingMask topView.autoresizingMa

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


现在,当我将屏幕旋转到横向时,它将保持相同的宽度,而不是填充。我认为在旋转后重新绘制时会再次调用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];
}