我的應用程序維護一些數據列表,用戶可能會隱藏某些行。隱藏/顯示按鈕位於編輯面板中,可通過將tableview置於編輯模式,然後選擇要編輯的行來進行訪問。這意味着在編輯模式下,所有的行都需要顯示出來,甚至是那些通常隱藏的行。否則將無法取消隱藏它們。從setEditing更改核心數據謂詞
我通過將fetchedResultsController設置爲nil來實現此目的,並在setEditing中重新加載表,然後修改構建fetchedResultsController謂詞的代碼,以檢查表是否處於編輯模式,如果是,跳過謂詞的一部分不包括隱藏的列表。因此,當用戶觸摸Edit按鈕時,表格會隨着所有行重新加載進入編輯模式,並且在返回時只重新加載未隱藏的行。
這工作正常,除了它已經殺死了進入和退出編輯模式時通常看到的動畫。額外的重新加載使它看起來很陡。如果在調用[super setEditing:animated]之前或之後執行重新加載,則沒有區別。
有沒有更好的方法或地方來做到這一點?
這工作,謝謝!這並不是100%平滑,因爲表格在進入編輯模式的同時進行更新,但我認爲它可能是最好的。不過,仍然困惑爲什麼其他史蒂夫的建議沒有奏效。 – janineanne