ViewControllerに2つのUIViewを追加しようとしています。それらの1つはプレーンなUIViewで、もう1つはUITableViewです。私は、UITableViewがそのコンテンツに必要な高さであり、他のビューがUITableViewの高さに基づいてサイズ変更できるような高さの制約を設定する方法についてはあまりよく分かりません。ViewController内の2つのビューで自動レイアウトの制約をプログラムで設定する
以下は、これらの制約を設定するために使用している簡単なスケッチとコードです。
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]];
すべてのコメント/フィードバックが高く評価されるだろう。おかげさまで
あなたは彼らが見てみたい正確にどのように私たちを表示するスケッチやSTHを描くことはできますか? – ozgur
ozgur - スケッチを追加しました。 – slonkar