我正在开发一个Xcode 6 / Swift项目,我注意到当我启用自动布局时,我无法再以编程方式设置我的视图的位置。作为示例,我尝试在ViewDidLoad
中覆盖视图上的AutoLayout约束,但它不起作用。
override func viewDidLoad() {
super.viewDidLoad()
// This Does not work
self.myView.center = CGPointMake(150, 200)
}
如何以编程方式覆盖自动布局视图约束?
答案 0 :(得分:4)
如果您使用自动布局并且想要任何对象的特定位置,则需要添加约束。
在右下角有4个图标。您可以将它们用于约束。
或者如果您想以此方式进行此操作
然后创建NSLayoutConstraint的IBOutlet并通过这样做设置新值
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *c1;
和
[UIView animateWithDuration:0.4 animations:^{
self.c1.constant=500;
}];
答案 1 :(得分:1)
1-为水平中心和垂直中心创建两个约束。
2-将这些约束从IB连接到您的代码。
3-以编程方式更改这些约束的常量值。