有什麼辦法可以在UITableViewCell上執行像ViewWillAppear這樣的事情嗎?ViewWill在UITableViewCell上出現?
UITableViewDelegate方法(如willDisplayCell)僅在滾動顯示單元格時起作用。
在我的情況下,我需要在用戶移動到另一個選項卡並返回到UITableView的情況下檢測單元格外觀。
我能夠使用indexPathsForVisibleRows方法解決我的問題,但這似乎不是一個聰明的方法。
有什麼辦法可以在UITableViewCell上執行像ViewWillAppear這樣的事情嗎?ViewWill在UITableViewCell上出現?
UITableViewDelegate方法(如willDisplayCell)僅在滾動顯示單元格時起作用。
在我的情況下,我需要在用戶移動到另一個選項卡並返回到UITableView的情況下檢測單元格外觀。
我能夠使用indexPathsForVisibleRows方法解決我的問題,但這似乎不是一個聰明的方法。
是的。您必須在m文件中使用awakeFromNib
meyhod。這個方法總是先調用。
-(void)awakeFromNib{
}
如果可見單元格不加載,那麼你必須重新加載你的tableview。
tableView.reloadData()
希望它可以幫助你。
我不確定這是否適用於您,因爲您希望在選項卡更改上執行某些操作,否則會起作用。
我知道我回答太晚了,但我正在幫助其他人查看此帖。
所以,你可以試試這個: (目標c)
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath {
// Do what ever you want
}
(SWIFT)
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
// Do what ever you want
}
我試圖使用這種方法(swift),但我得到一個錯誤,以消除「覆蓋」 - 「方法不覆蓋任何方法從它的超級類別「。當我刪除「覆蓋」應用程序編譯但該方法未被調用,雖然其他委託方法被調用(如「didSelectRowAtIndexPath」) – Zvi
@ Zvi,謝謝。更新了我的答案。你可以試試下面的方法,而不是willDisplayCell,讓我知道你的結果:函數的tableView(_的tableView:UITableView的,willDisplay細胞:UITableViewCell中,forRowAt indexPath:IndexPath) – Hardik
首先需要使用indexPath:NSIndexPath(甚至在蘋果文檔的錯誤)。其次,我不知道我做了什麼,但現在它工作,使用willDisplayCell - willDisplay仍然無法正常工作 – Zvi
你有什麼要執行時,用戶來自另一個選項卡回來? – iOSEnthusiatic