[英]Removing UITableViewCell's accessoryView later?
因此,當我選擇表格視圖單元格時,我會將活動指示器設置為附件視圖。
UITableViewCell *cell = [tableVw cellForRowAtIndexPath:indexPath];
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[act startAnimating];
[cell setAccessoryView:act];
[act release];
稍后,當我有需要繼續處理的數據時,我想在過渡到另一個視圖之前刪除此活動指示器,以便該單元格返回其默認狀態。 以下只是行不通的。
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:self.tableView.indexPathForSelectedRow];
[cell.accessoryView removeFromSuperview];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
您應該以某種方式確定tableView:cellForRowAtIndexPath:
對象是否需要活動指示器。 例如,維護一個字典或數組以存儲索引路徑處的單元格是否仍在做某事,或者創建一個具有表示其是否正在加載的屬性的模型對象,等等。
在您tableView:cellForRowAtIndexPath:
檢查,如果該索引路徑細胞需要一個活動的指標視圖或沒有,如果沒有,細胞的設置accessoryView
到nil
。
然后,稍后刪除附件視圖: [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:theIndexPath] withRowAnimation:UITableViewRowAnimationNone];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.