<Table>
HTMLタグと同様の動作をしたいのですが、フレームの内容に応じてサイズが決められています。内容に応じてUIStackViewのサイズを変更するにはどうすればよいですか?
私の文脈では、私はUITableViewCellのコンテンツビューとしてUIStackViewを使用します。セル内の項目は様々な情報であるため、セルの高さは可変でなければなりません。
私の戦略は、次のようにコードスニペットのように、プログラムで、.Vertical軸とUIStackViewとしてセルを構築することです:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
let sv = UIStackView(frame: tableview.frame)
sv.axis = .Vertical
cell.addSubview(sv)
for i in information {
let l = UILabel()
l.text = i
sv.addSubViewAndArrange(l)
}
return cell
}
は残念ながら、セルサイズがコンテンツに調整していない、とのように結果私はセルの高さを次のように自分で設定する必要があります。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return cellHeight // a constant
}
どうすれば修正できますか?
:ここ
は、最終的な結果です。 – zcui93
私はすでにこのパスをテストしています(セルにT-T、L-L、R-R、B-Bの制約を加えました)が、これは非常に広いセルになります。 @ zcui93 –
それ自身のStackViewは、セルがそれと共に成長するように、セルに制約されるべきです。次に、スタックビューが "本質的なコンテンツサイズ"に基づいて適切に成長するように、サブビューを設定します。 – zcui93