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