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