1

我正在开发一个 Xcode 6 / Swift 项目,我注意到当我启用自动布局时,我不能再以编程方式设置视图的位置。例如,我尝试在视图中覆盖我的自动布局约束,ViewDidLoad但它不起作用。

override func viewDidLoad() { 
super.viewDidLoad() 

// This Does not work 
self.myView.center = CGPointMake(150, 200)

} 

如何以编程方式覆盖自动布局视图约束?

4

2 回答 2

4

如果您使用自动布局并且想要任何对象的特定位置,则需要添加约束。
在右下角有 4 个图标。您可以将它们用于约束。 在此处输入图像描述

或者如果您想以编程方式执行此操作,
则创建 NSLayoutConstraint 的 IBOutlet 并通过执行此操作设置新值

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *c1;


[UIView animateWithDuration:0.4 animations:^{
        self.c1.constant=500;
    }];
于 2014-12-18T11:14:59.623 回答
1

1-为水平中心和垂直中心创建两个约束。

2- 将这些约束从 IB 连接到您的代码。

3- 以编程方式更改这些约束的常量值。

于 2014-12-18T10:47:48.677 回答