Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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 自动布局以生成viewController';旋转时,如何查看填充屏幕?_Ios_Autolayout - Fatal编程技术网

Ios 自动布局以生成viewController';旋转时,如何查看填充屏幕?

Ios 自动布局以生成viewController';旋转时,如何查看填充屏幕?,ios,autolayout,Ios,Autolayout,我已将以下内容添加到我的viewDidLoad中: - (void)viewDidLoad { [super viewDidLoad]; [self.view setTranslatesAutoresizingMaskIntoConstraints:NO]; NSDictionary *views = @{ @"view" : self.view }; [self.view addConstraints:[NSLayoutConstraint

我已将以下内容添加到我的viewDidLoad中:

- (void)viewDidLoad {
     [super viewDidLoad];


     [self.view setTranslatesAutoresizingMaskIntoConstraints:NO];
     NSDictionary *views = @{ @"view" : self.view };
     [self.view addConstraints:[NSLayoutConstraint
                                constraintsWithVisualFormat:@"|[view]|"
                                options:kNilOptions
                                metrics:nil
                                views:views]]; 
}
我不工作。我有一个视图控制器,当我旋转设备时,视图会适应新的方向。所以,如果我从纵向到横向,我希望视野足够宽,并降低其高度。。。所以在自动布局之前,我通常能够快速完成正常的行为

我怎样才能做到这一点?我做错了什么


感谢

无论方向如何,视图控制器的视图(您在这里所处理的内容)都会自动填充整个屏幕。您没有(也不应该)在此视图上设置自动布局约束。相反,您需要在子视图上设置自动布局约束。

即使使用自动布局,也不需要这样做。如果你注释掉这段代码,你会看到什么结果?由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法解析约束格式:无法解释“|”字符,因为相关视图没有superview |[视图]| ^”,当你注释掉代码时会出现该错误,或者当你有代码时(你应该注释掉整个viewDidLoad方法)?好的,我想我需要这样做,因为在旋转之后视图控制器的视图总是有相同的帧:didRotateFromInterfaceOrientation。帧={0,0},{320568}。那么,它应该是这样的吗?当我有代码的时候,我就得到了那个错误。如果我在viewDidLoad中注释掉代码,我不会出错。那么,你能告诉我为什么帧总是保持纵向吗?当调用didRotateFromInterfaceOrientation且手机现在处于横向时,视图控制器的self.view仍然是:frame={{0,0},{320568}。为什么?好吧,我在这里找到了一个答案,说明边界确实会改变,我也是这样。谢谢