2009-08-05 57 views
-6

突然,在編輯模式下,我無法移動單元格。 以前我可以。重新排序單元格 - 停止工作

我沒有改變任何東西。

THX

+0

嘗試發佈樣本代碼並展開您的問題 – Daniel 2009-08-05 14:19:46

+0

此問題尚不清楚。它似乎沒有編程相關。也許你應該嘗試superuser.com? – 2009-08-05 14:20:04

+0

這是iPhone,他正在討論在UITableView的編輯模式下對單元格進行重新排序。 – Amagrammer 2009-08-05 14:51:19

回答

3

好吧,這問題有點含糊措辭,但我喜歡一個謎! :-)

我想他是說當他進入「編輯」模式時,三條小線出現在每個細胞旁邊,但是當他試圖「拾取」一個細胞時,它不會移動。

最關鍵的事情donodare是確保你已實現了以下方法在你的tableview控制器類:

// Override to support conditional rearranging of the table view. 
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the item to be re-orderable. 
    return YES; 
} 

這將使清理。

請注意,您必須處理用戶重新排列後發生的情況,否則在「放開」單元格時,它只會回彈到它來自的位置。

你應該做的是在你的tableview控制器類中重寫以下方法:

// Override to support rearranging the table view. 
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { 
// Custom code. NOTE - do not call ReloadData in this method or your app will crash! 
} 

希望幫助

+0

做到了。 不工作。 – Shay 2009-08-06 06:37:45

0

我有一個類似的問題,和這個職位似乎是唯一相關谷歌命中。

我在模擬器中工作得很好,但在iPhone上不允許單元格重新排序。

在設備上,出現拖動手柄(因此canMoveRowAtIndexPath:設置正確)。在拖動控制柄上點按並按住可使單元格高亮顯示,因爲它通常會用於拖動。一旦我開始拖動,突出顯示就消失了,單元格保持放置 - 從字面上看它永遠不會移動。

通過日誌記錄,我可以觀察到moveRowAtIndexPath:toIndexPath:在單元被刪除時被調用。

我限制了可用的拖動目標。日誌顯示targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:在模擬器中運行時被調用,但在手機上運行時不被調用。此外,問題發生在這個方法實施之前(原始設計不需要它;新的設計,但也希望這種方法可以解決這個問題)。它似乎是唯一的代表方法沒有觸發,因爲所有其他實現的方法似乎工作得很好。代碼來自我的另一個項目,在手機上運行良好。即使這種方法正常工作,您仍然可以拖動單元格,只能將其放置在允許的位置。我甚至無法開始移動細胞。

我已經在IB中搜索相關選項,以及tableview,delegates和cells的文檔。如果我想想要這種行爲,我不會發現任何事情,甚至暗示有用,所以我不知道要啓用或禁用什麼。什麼可能是一個單一的委託方法會在模擬器中觸發,而不是在手機上的原因?

OS 3.0/3.0.1,原始iPhone,發生在多個設備上。

0

我剛剛發生了同樣的事情 - 我花了很多年試圖讓這張表加載數據,然後當我終於做到了,我無法移動任何單元格了。我搜索了一下,發現這個線程 - 原來問題是由於我從一個視圖移動到所有視圖的一些加速度計的東西 - 禁用它,而在打開tableview時解決了問題。

我想知道問題的實際原因,但我很高興找到解決辦法。

謝謝你!

相關問題