2014-02-20 78 views
4

在我的應用程序中,我實現了重新排序行的選項,但我使用默認編輯按鈕來顯示刪除按鈕和三行圖標來移動行。 但我看到一個iOS應用程序,它允許用戶直接移動行,而無需進入編輯模式。 我會很感激任何意見,以實現這種方式,直接重新排序行,而不是使用編輯模式。 謝謝。在非編輯模式下重新排序tableView中的行

+1

根據我在另一個問題中的回答,您通過將每個單元格的編輯樣式更改爲none,然後當用戶正在「編輯」時將您的樣式設置爲刪除,以此來僞造非編輯模式。您需要自己跟蹤用戶的編輯模式,因爲您的tableview始終處於編輯模式。 – mackross

+0

@mackross,謝謝,但你會介意給我一個答案,我該怎麼做?我的意思是,cell.showsReorderControl = YES; on cellForRowAtIndexPath,但涉及哪些其他方法? – mvasco

回答

3

您必須實現

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
- (BOOL)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath 

,有你的表視圖editing設置爲YES,以便重新排序控件來顯示。

3

使用moveRowAtIndexPath:toIndexPath:UITableView的方法

的UITableView實現下面method.Use它移動的行,或鏈條它們具有逐行的一些動畫。

- (void)moveRowAtIndexPath:(NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath 

讀在蘋果文檔關於它的細節。

1

嘗試從端加載您-viewDidLoad:

self.editing = NO; 
[self editTable:nil]; 

editTable這一點:是編輯按鈕的方法操作。

相關問題