我有UICollectionView
和選定的單元格應該喜歡圖片中的黃色。那麼如何爲選中的單元格設計一個單獨的設計,以及如何在其上繪製曲線? 我應該爲此使用2個單獨的UICollectionViewCell
嗎?或者有任何替代方法可以在選擇時重用相同的單元格。UICollectionView與2個獨立的設計
0
A
回答
1
要不要我用2個獨立的UICollectionViewCell這個?
這是一條路。如果有更多的差異,而不僅僅是你所描述的那樣,那麼做。
或者有任何替代方法可以在選擇時重用相同的單元格。
當然,你可以這樣做。看看插圖中的兩個單元格,但將每個單元格上面的灰色部分視爲單元格的一部分。黑色矩形和黃色凸起的矩形只是您在單元格背景中繪製的兩幅不同的圖像,您只需通過更改該圖像即可配置相同類型的單元格。如果單元的其他方面(如標籤位置等)在兩個單元之間相同,則這是一種很好的方法。
1
如果這是您想在選擇之後做出的唯一不同之處,我認爲沒有必要創建兩個不同的UICollectionViewCell
s,而需要保留所選單元格的indexpath.row
(s) s)並檢查這是否是選定的行,更改/添加新的背景圖像。
例如:
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
// here is the variable that should save the current selected row...
private var selectedRow: Int?
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// let's consider that you have a custom cell called "MyCustomCell"
// which has "backgroundImage" property...
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "myCellID", for: indexPath) as! MyCustomCell
// checking based on the selected row
cell.backgroundImage = indexPath.row == selectedRow ? UIImage("yellow") : UIImage("default")
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
selectedRow = indexPath.row
collectionView.reloadData()
}
}
需要注意的是,如果你想檢查多行,你應該聲明selectedRows
爲int數組(或可能爲一組)。
希望它有幫助。
相關問題
- 1. 類級別設計驗證引擎2個獨立的實體
- 2. UiCollectionView個人單元設計
- 3. 熱設計獨立的網站
- 4. 獨立的網頁設計問題
- 5. 有2個獨立的<nav>標籤獨立工作
- 6. 要創建「兩個選項卡設有2個獨立的WebView」
- 7. PHP計數()返回2個獨立的值
- 8. RxJs:到2個獨立的觀測
- 9. 在2個獨立的用戶
- 10. 獨立DAL設計 - 特定和通用
- 11. 獨立執行程序設計
- 12. 2個單獨的UIGestureRecognizer委託在兩個獨立的VC
- 13. 在2個獨立的域進行身份驗證(設置cookie)
- 14. 使用jquery切換2個單獨的按鈕和2個獨立的div
- 15. 在2個獨立的類中實現2個按鈕android
- 16. 獨立旋轉約2個軸
- 17. Implode 2獨立陣列?
- 18. 在2個獨立的東西上檢索2個獨立用戶的用戶名
- 19. 報告與兩個獨立的列
- 20. 引導獨立滾動3個柱設計
- 21. 如何設計一個提供者獨立DAL(.Net)
- 22. 計算獨立於距離的2 D3DXVECTOR3之間的向量
- 23. 2個獨立組件之間的通信angularJS 2
- 24. 獨立的菜單與PHP
- 25. 使用Angular 2從獨立設備觸發的狀態更改
- 26. FLUX與多個獨立店/調度
- 27. 獨立的變量$ 1 $ 2 $ 3
- 28. Android:設備獨立像素?
- 29. 定義一個數組,使用2個獨立的列
- 30. 連接兩個表 - 在2個獨立的條件
在單個單元格中創建這2個視圖。然後,用didSelectItemAtIndex檢測單元格選擇並更改該特定單元格的視圖類型。 – SNarula
您可以更改所選單元格的背景圖像,爲所選單元格取景並取消選擇,每當用戶選擇該單元格時,只需選擇背景圖像即可 – Diksha