簡體   English   中英

UITableView:將一行移動到一個空白部分

[英]UITableView: moving a row into an empty section

我有一個帶有一些空白部分的UITableView 我希望用戶能夠使用標准編輯模式控件將一行移入其中。 到目前為止,我能做到的唯一方法是在我的“空”部分中有一個虛擬行,並嘗試通過使用tableView:heightForRowAtIndexPath:來隱藏它,使虛擬行的高度為零。 這似乎將其保留為 1 像素行。 我可以通過制作一種剛剛填充[UIColor groupTableViewBackgroundColor]的特殊類型的單元格來隱藏它,但是有更好的方法嗎?

這都是在UITableView的分組模式下。

更新:看起來沒有任何技巧可以將行移動到空白部分,但是“敏感性”已經足夠糟糕了,您確實需要技巧才能使其對一般用戶可用(他們不會有足夠的耐心慢慢 hover 行圍繞空白部分,直到點擊)。

我發現在 iOS 4.3 中,虛擬行需要具有至少 1 個像素的高度,以便提供允許將行移動到該部分的所需效果。

我還發現只有第一節和最后一節才需要虛擬行; 中間的任何部分都沒有這個問題。

它看起來像在 iOS 5.0 中,根本不需要虛擬行或特殊技巧。

我發現如果從 heightForRowAtIndexPath 方法返回 -1.0 ,它將刪除 1 像素線。

在管理編輯時,您可以監控表視圖是否處於編輯模式。 cellForRowAtIndexPath中使用該標志來決定天氣或不顯示“空白”行。 在“常規”模式下,該行不會顯示,但當用戶點擊“編輯”時,應該再次調用 cellForRowAtIndexPath,這一次決定顯示該行。 具體如何操作取決於您的數據源以及如何將其粘貼到顯示器上。 如果您沒有再次接到電話,您可以使用insertRowsAtIndexPaths / deleteRowsAtIndexPaths手動注入行和/或調用reloadData以強制刷新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM