Я пытаюсь добавить два UIView на ViewController. Один из них - простой UIView, а другой - UITableView. Я не совсем уверен, как установить ограничение по высоте на них таким образом, что UITableView будет иметь высоту, необходимую для его содержимого, а другое представление может изменить размер на основе высоты UITableView.Задание автоматических ограничений компоновки программно на двух представлениях в ViewController
Ниже приведен простой эскиз и код, который я использую для настройки этих ограничений.
NSDictionary *views = NSDictionaryOfVariableBindings(_infoView,_infoTableView);
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[_infoView]"
options:0
metrics:nil
views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[_infoView]-[_infoTableView]"
options:0
metrics:nil
views:views]];
// Width constraint
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.infoView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.infoTableView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.infoView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.infoTableView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:0]];
Любые комментарии/обратная связь будет высоко оценен. Спасибо.
Вы можете нарисовать эскиз или н, чтобы показать нам, как именно вы хотите, чтобы они выглядели? – ozgur
ozgur - добавлен эскиз. – slonkar