Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 为什么我的子视图不使用interface builder中的autolayout来遵循约束_Ios_Objective C_Xcode_Uiview_Autolayout - Fatal编程技术网

Ios 为什么我的子视图不使用interface builder中的autolayout来遵循约束

Ios 为什么我的子视图不使用interface builder中的autolayout来遵循约束,ios,objective-c,xcode,uiview,autolayout,Ios,Objective C,Xcode,Uiview,Autolayout,假设MainView(红色)有一个子视图,它是UITextView和UIView(绿色),我希望所有子视图的宽度都与superview相同。我添加了一些约束,但UIView(绿色)除外。我就是这样做的,请看下面 默认情况下,MainView的宽度为320。。 但是,当我尝试将MainView的宽度更改为500时,UIView(绿色)不会遵循约束,这与uitextview不同。 单击警告时(黄色箭头) 这仅显示UIView(子视图)的警告约束,但为什么UITextView没有警告?在该视图上是

假设MainView(红色)有一个子视图,它是UITextView和UIView(绿色),我希望所有子视图的宽度都与superview相同。我添加了一些约束,但UIView(绿色)除外。我就是这样做的,请看下面

默认情况下,MainView的宽度为320。。

但是,当我尝试将MainView的宽度更改为500时,UIView(绿色)不会遵循约束,这与uitextview不同。

单击警告时(黄色箭头) 这仅显示UIView(子视图)的警告约束,但为什么UITextView没有警告?在该视图上是否存在我遗漏的任何约束或设置?

编辑: UIView的约束(绿色)


当帧与约束不同步时,可能会发生这种情况。如果您选择视图,然后单击“解决自动布局问题”按钮,并选择“更新视图中的所有帧”(如果您使用的是情节提要,则该选项称为“更新视图中的所有帧控制器”),则可以解决此问题。它应该更新帧以匹配约束。然后,对红色视图宽度的后续更改也应该更新绿色视图。

当帧与约束不同步时,可能会发生这种情况。如果选择视图,然后单击“解决自动布局问题”按钮,然后选择更新视图中的所有帧”(如果您使用的是情节提要,则该选项称为“更新视图控制器中的所有帧”)。它应该更新框架以匹配约束。然后,对红色视图宽度的后续更改也应更新绿色视图。

在IB中选择绿色子视图。在其“大小检查器”中发布约束信息的屏幕截图。@bilobatum请参阅编辑的。TNX选择IB中的绿色子视图。在其“大小检查器”中发布约束信息的屏幕截图。@bilobatum请参见编辑的。tnxHi,这是正确的,但在我的问题中,我已经设置了所有约束,并且我看不到“更新帧”选项。@Bordz在点击“解决自动布局问题”按钮时没有看到它?或者它就在那里,只是变灰了?有时,我发现我必须取消选择我正在处理的视图(即点击IB workspace的背景),然后重新选择我正在处理的视图。顺便问一下,你使用的是什么版本的Xcode?Xcode 5,它的颜色变灰了。我想在这个选项上我无能为力,因为我正确设置了所有的约束条件?(我猜)hehehe@Bordz您可能希望手动调整绿色视图的框架(使其与约束不同步),然后应启用“更新所有框架”选项。顺便说一句,如果Xcode表现得很奇怪,(很遗憾)退出Xcode并重新打开项目总是一件好事。我试着把它推出来,更新框架,重新打开,清理Xcode,但还是什么都没发生。谢谢。您好,这是正确的,但在我的问题中,我已经设置了所有约束,并且我看不到任何更新帧选项。@Bordz在您点击“解决自动布局问题”按钮时没有看到它?或者它就在那里,只是变灰了?有时,我发现我必须取消选择我正在处理的视图(即点击IB workspace的背景),然后重新选择我正在处理的视图。顺便问一下,你使用的是什么版本的Xcode?Xcode 5,它的颜色变灰了。我想在这个选项上我无能为力,因为我正确设置了所有的约束条件?(我猜)hehehe@Bordz您可能希望手动调整绿色视图的框架(使其与约束不同步),然后应启用“更新所有框架”选项。顺便说一句,如果Xcode表现得很奇怪,(很遗憾)退出Xcode并重新打开项目总是一件好事。我试着把它推出来,更新框架,重新打开,清理Xcode,但还是什么都没发生。谢谢你,顺便说一句。