ios 从 XIB 设置锚点 table 无法正常工作
ios setting anchor from XIB table not working properly
我在 XIB 中定义了一些小部件,我想以编程方式设置约束锚点。当我设置 imageView 时似乎可以工作,但是当设置左、右或底部锚点时 UITable 消失了。
此外,table 未在 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;
}
如果我取消注释 table 前导、尾随或底部锚点,它就会消失,而且 table 应该在我的 imageView 下方。
如何修复此布局?谢谢!
激活您的 constraints
,就像您在上几行中所做的那样。否则,您只需将约束赋予组件,而它们不处于激活状态,那么什么也不会发生,即组件的行为就像它们没有约束一样。
注:
每当您以编程方式更改任何组件上的 constraints
时(例如现在您想要更改组件布局),请确保您 首先正确删除所有先前的约束,即使你想更新任何一个 constraint
,那么首先你必须完全删除所有以前的约束,否则 x-code
会发生冲突。
我在 XIB 中定义了一些小部件,我想以编程方式设置约束锚点。当我设置 imageView 时似乎可以工作,但是当设置左、右或底部锚点时 UITable 消失了。
此外,table 未在 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;
}
如果我取消注释 table 前导、尾随或底部锚点,它就会消失,而且 table 应该在我的 imageView 下方。
如何修复此布局?谢谢!
激活您的 constraints
,就像您在上几行中所做的那样。否则,您只需将约束赋予组件,而它们不处于激活状态,那么什么也不会发生,即组件的行为就像它们没有约束一样。
注:
每当您以编程方式更改任何组件上的 constraints
时(例如现在您想要更改组件布局),请确保您 首先正确删除所有先前的约束,即使你想更新任何一个 constraint
,那么首先你必须完全删除所有以前的约束,否则 x-code
会发生冲突。