2016-03-04 98 views
7

我有一個通用的iOS應用程序,我最初使用UITableViews,但現在是時候用UICollectionViews更新它,以便我可以更好地利用iPad上的顯示。使UICollectionView看起來像UITableView

UITableView伴隨着很多功能,我覺得我失去了一噸,以換取網格佈局等的靈活性。

例如,單元格之間的分隔線是我必須自己實現的。沒有太多問題。

或者Header視圖,我知道如何添加它們,但似乎我必須手動編碼設置以嘗試模仿UITableView的樣式和顏色主題,而不是僅僅匹配默認值。當然,我可以嘗試模仿它,但只要iOS 10出來,他們改變了標題視圖的外觀,突然我的應用程序不再匹配,看起來過時了。

但披露指標是一個更大的問題。有沒有辦法以內置的方式在我的UICollectionViewCell上獲得披露指標?是的,我知道我可以嘗試找到一個看起來類似於披露指示符的圖形,並將其添加到我的自定義單元格中,但對於粘貼到UITableViewCells的某些內容,我並不特別喜歡必須自定義的想法將所有這些功能添加到我爲UICollectionViews製作的每個單元類型中。特別是當iOS 10下降並且我的所有披露指標都再次過期時。

更何況,我也失去了披露指標的內置segue功能。

我錯過了什麼嗎?有什麼方法可以利用UICollectionView中非常好的默認設置,使它看起來像UITableView?

回答

1

UICollectionViewCellUITableViewCell非常相似。他們共享類似的方法名稱,類似的行爲,但它們是爲不同目的而設計的。雖然UICollectionViewCell應該用於具有非常可變佈局(例如,自適應單元格,瀑布佈局等)的上下文中,但是更加靜態並且主要用於列出對象。

要將UITableViewCell行爲的某些行爲轉換爲UICollectionViewCell,您應該自己或使用外部庫重新創建它們。 只是一個例子:UICollectionViewCell沒有滑動刪除的手勢,所以你必須使它by yourselfusing a lib。 在這種情況下,披露指示符可以用自定義圖像和按鈕來代替。您可以從iOS 9 Photoshop文件(如this)中獲取它們。

參考:Setting Up a UICollectionView in iOS

+0

我問,如果有一種方法內置,使它們看起來是一樣的,否則我馬上就是過時的。正如我在我的問題中所說:「當然,我可以嘗試模仿它,但只要iOS 10出來,他們改變了標題視圖的外觀,突然我的應用程序不再匹配,看起來過時了。」 –

+0

好的,但是如果沒有任何本地方式來實現UITableViewCell外觀,如果你沒有模仿它,你怎麼能有相同的行爲? –

+0

'但是如果沒有任何本地方式來實現UITableViewCell的外觀和感覺' 這是我的問題。 IS有一種原生的方式讓UICollectionViewCells採用標準的UITableViewCell的外觀和感覺? –