這是我的問題。我使用一個自定義的UITableViewCell作爲一個帶有標識符「cellidentifier」的Cell原型放入UITableView中。在這個UITableViewCell中,我添加了一個空的UIView到contentView的單元格中,我稱其爲「bubbleView」,它有一個連接@IBOutlet,並且我添加了約束top = 0,bottom = 0,leading = 0和trailing = 0。iOS + Swift 2:UITableViewCell中的動態高度不適用於空視圖
在控制器(其從UITableViewDataSource和的UITableViewDelegate繼承),放入viewDidLoad中功能添加此行:
override func viewDidLoad() {
...
self.mytable.delegate = self
self.mytable.dataSource = self
self.mytable.estimatedRowHeight = 100.0
self.mytable.rowHeight = UITableViewAutomaticDimension;
...
}
然後,我實現這種方式的UITableViewDelegate方法:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cellidentifier") as! myCustomCell!
if (cell == nil) {
cell = myCustomCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier:"cellidentifier")
}
let myNewView = UIView(frame: CGRectMake(0, 10, randomWidth, random Height))
cell.bubbleView.addSubview(myNewView)
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
有了這些代碼,我可以將myNewView添加到單元格中,但單元格未根據myNewView高度調整到實際高度,例如,如果myNewView高度爲134,則我的自定義視圖單元格總是返回44高度。按照一些教程的說法,我添加了layoutIfNeeded屬性,但它不起作用。任何人都有這個解決方案?