2012-11-13 50 views
1

之間令人費解的行爲的cellForRowAtIndexPath差異我想在我的UITableView所有細胞總是顯示刪除附件和信息披露指標:iPhone:iOS 6或5.1

(這樣做的原因是,我不具有/不希望編輯按鈕)

enter image description here

這工作在5.1與此代碼:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    //the usual code 
     [self.tableView setEditing:YES animated:YES]; 
     cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator; 

     return cell; 
} 

這不會在iOS 6.0中產生相同的行爲。當我添加一行時,它看起來沒有刪除附件。有趣的是,如果我然後選擇單元格(運行didSelectRowAtIndexPath),我可以在我的詳細信息視圖中按取消,只有那麼刪除附件纔會出現在我的表格單元格中。

任何人都可以解釋這種差異?在蘋果的文檔中我找不到任何關於這方面的內容(如果你能指點我的話,我會很感激的)。也許我不應該把這個方法放在第一位?謝謝。

+1

爲什麼你把表格放在'cellForRowAtIndexPath:'編輯模式下?你應該在'viewDidLoad'中做一次。 – rmaddy

+0

@rmaddy這解決了它,非常感謝。我想我愚蠢地遵循一個可憐的教程。如果您將您的評論置於答案中,我會接受它。 – cmac

回答

1

您的問題是由cellForRowAtIndexPath:的表格視圖上的setEditing:animated:造成的。您只能在viewDidLoad中撥打一次。