我在XIB中定义了一些小部件,我想以编程方式设置约束锚点。当我设置一个imageView似乎工作,但当左,右或底部锚点设置时,UITable正在消失。
此表也没有在imageView ...
下面设置Y位置- (void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[self setupConstrains];
}
- (void)setupConstrains {
// //image world
self.whatDoppelsView.translatesAutoresizingMaskIntoConstraints = false;
[self.whatDoppelsView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
[self.whatDoppelsView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;
//table,
self.table.translatesAutoresizingMaskIntoConstraints = false;
//
[self.table.topAnchor constraintEqualToAnchor:self.whatDoppelsView.bottomAnchor constant:0];
//
// [self.table.topAnchor constraintEqualToAnchor:self.view.topAnchor constant:1];
//
// //[self.table.heightAnchor constraintEqualToConstant:900];
//
[self.table.heightAnchor constraintEqualToAnchor:self.view.heightAnchor multiplier:0.50];
// [self.table.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
// [self.table.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;
// [self.table.bottomAnchor constraintEqualToAnchor: self.view.bottomAnchor].active = YES;
}
如果我取消对表格前导,尾随或底部锚点的注释,它会消失,表格也应该在我的imageView下面。
如何修复此布局?,谢谢!
答案 0 :(得分:1)
按照您在最后一行中的操作激活constraints
。否则,您只需将约束赋予组件,它们不处于激活状态,则不会发生任何事情,即组件的行为就像它们没有约束。
注意:强>
每当您以编程方式更改任何组件上的constraints
时,就像现在想要更改组件布局一样,请确保首先正确删除所有先前的约束,甚至当您想要更新任何单个constraint
时,首先必须完全删除所有先前的约束,否则x-code
会发生冲突。