只是尝试一下,我以编程方式创建一个Button,如下所示
UIBUtton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTitle:@"Button" forState:UIControlStateNormal];
[button sizeToFit];
[self.view insertSubview:button belowSubview:_testlabel];
我的视图中已经有一个名为_testlabel的现有标签。我正在使用自动布局,我想将我新添加的按钮的中心放在_testlabel上,我尽可能地尝试了下面的代码:
[self.view addConstraint:[NSLayoutConstraint
constraintWithItem:_testlabel attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual toItem:button
attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0.0]];
我所能做的就是将_testlabel的X放在新添加的按钮上,而不是相反。我在这里缺少什么?
答案 0 :(得分:1)
您可能需要对按钮和标签执行此操作:
[button setTranslatesAutoresizingMaskIntoConstraints:FALSE];
[_testlabel setTranslatesAutoresizingMaskIntoConstraints:FALSE];
然后使用:
使用AutoLayout约束格式化lanaguage添加其他调整大小约束[self.view addConstraints: ... constraintsWithVisualFormat ...];
和/或还使用更多
[self.view addConstraint: ... constraintWithItem ...]