2015-10-04 64 views
2

我有一個TableViewController,並且當我按下一個按鈕時,想要更改其中一個靜態單元的height。我創造了我的手機的出口:如何在Swift中擴展Table View Cell的高度?

@IBOutlet var myCell: UITableViewCell! 

的問題是,我沒有財產的高度,這樣我可以這麼某事物像這樣:

@IBAction func btnClick(sender: UIButton) { 
    myCell.rowHeight = 200 
} 

我知道有一個叫方法:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    ... 
} 

但我怎麼能觸發此方法時,我按我的UIButton?

回答

3

tableView.beginUpdates()其次tableView.endUpdates()觸發的委託方法像tableView:heightForRowAtIndexPath:

通話,所以你可以做這樣的事情:如果IAM沒有錯,你需要重寫每個委託和數據源功能重裝時

var height = 100 

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return height 
} 

@IBAction func btnClick(sender: UIButton) { 
    tableView.beginUpdates() 
    height = 200 
    tableView.endUpdates() 
} 
+0

rhings應該發生在靜態tableView上。在另一個委託和數據源函數中調用super.tableView ... –

+0

謝謝,這正是我所需要的。 – gurehbgui