Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
Cocoa 调用setFrame后如何触发视图自动布局调整?_Cocoa_Autolayout - Fatal编程技术网

Cocoa 调用setFrame后如何触发视图自动布局调整?

Cocoa 调用setFrame后如何触发视图自动布局调整?,cocoa,autolayout,Cocoa,Autolayout,比如说,我必须看到宽度均匀的视图。左右边缘垂直对齐,间距为5。如果我在俯视图上调用setFrame:以在superview中将其向上移动,则俯视图是否应自动随其移动 是的,但是如果使用自动布局来定位上视图,则不应调用setFrame。那是没有效果的。 而是修改约束。 在视图控制器中创建一个插座,参照上视图和顶部布局指南之间垂直空间的约束 @property (strong, nonatomic) IBOutlet NSLayoutConstraint *verticalSpaceConstrai

比如说,我必须看到宽度均匀的视图。左右边缘垂直对齐,间距为5。如果我在俯视图上调用setFrame:以在superview中将其向上移动,则俯视图是否应自动随其移动


是的,但是如果使用自动布局来定位上视图,则不应调用setFrame。那是没有效果的。 而是修改约束。 在视图控制器中创建一个插座,参照上视图和顶部布局指南之间垂直空间的约束

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *verticalSpaceConstraint;
然后,执行以下操作,而不是设置帧:

verticalSpaceConstraint.constant = 10; // or whatever distance you want between the top of the screen and the upper view