私はUITableView
を持っていて、ユーザが利用できるすべての異なるHomeKitデバイスをリストしています。(Swift)UITableViewの高さをTableViewCellsの動的な量から変更する方法を設定しますか?
明らかに、デバイスがどれだけあるか知る方法がないため、ストーリーボードの高さをUITableView's
に変更する必要があります。
私はviewDidLoad()
機能に呼んで、これを試してみた:
func adjustHeightOfTableView() {
//getting the height of the tableview
var tableHeight = self.tableView.contentSize.height
//the height of the content inside the view
var maxHeight = self.tableView.superview?.frame.size.height
//if the height of the content is bigger then the height of the tableview
if (maxHeight! > tableHeight) {
tableHeight = maxHeight!
//set the tableview height to be the content height
}
//trying to reload the tableview height?
self.view.layoutIfNeeded()
self.tableView.reloadData()
}
私はテーブルビューの下に、いくつかのUI要素を持ってしようとしている、と私は彼らがの下から、設定されたスペースになりたいですtableviewだけでなく、それが必要な高さにtableviewを持っていても、どのような数のセルがあってもかまいません。
しかし、それは機能していません。 私が何か悪いことをしている場合、または誰かがこの作業を行う方法を知っている場合は、私に知らせてください。 ありがとう!あなたは、ビューdidloadにautolayouts
を使用している場合
画面のセル数が少なく空白セルが表示されている場合、tableViewの高さを下げたいですか? –
'tableHeight = maxHeight!'はtableViewの高さを設定せず、変数の値だけを設定します。 tableView自体のフレームを変更する必要があります。例えば、 'self.tableView.frame = CGRectMake(...)' –
どうして高さを変えたいのですか?ポイントは何ですか?テーブルの下部にある空白を取り除くだけですか?代わりにその色を透明にしてみませんか?または、他のUI要素をその領域を占有するようにシフトさせたいですか? –