2017-04-25 93 views
-1

我試圖在每個單元格中使用uiscrollview實現一個集合視圖,並且每個scrollview都有一些照片。CollectionView與UIScrollView作爲一個單元格

這是它看起來到目前爲止的方式:

http://i.imgur.com/Bwch5E3.png

的CollectionView是垂直滾動的,並且每個單元水平滾動。

注:圖片是可點擊的按鈕!

我想讓它這樣說:

如果用戶點擊任意單元格的圖像上,它應該擴大和出現彈出了集體觀點。檢查按下哪個按鈕變得非常困難。有沒有更簡單的解決方案來觀察點擊及其來源?

回答

0

如果您使用的目標 - 動作的方法來處理水龍頭,你可以簡單地傳遞參數選擇像

@objc func handleButtonTap(_ button: UIButton)

button這裏是參考拍了拍按鈕。

可以使用添加目標到您的按鈕:

button.addTarget(self, action:#selector(handleButtonTap), for: .touchUpInside)

編輯:

如果你想檢查IndexPath您可以選擇提供額外的PARAM forEvent: UIEvent和使用以及與此事件以下擴展

extension UICollectionView { 

    func indexPath(forEvent: UIEvent) -> IndexPath? { 
     return forEvent.allTouches? 
      .first 
      .map { $0.location(in: self) } 
      .flatMap { indexPathForItem(at: $0) } 
    } 
} 
+0

感謝您的快速回答。我也想過選擇器。通過選擇器,我可以找到哪個按鈕已完全點擊。但是,我怎麼知道這個按鈕的位置?我的意思是,集合視圖中的行和uiscrollview中的數字(?)? – PlovIsLove

+0

我正在考慮按鈕的自定義。也許,我需要創建一些UIButtonX,它具有可以添加到其中的附加參數,稍後可以通過選擇器進行讀取。但我認爲,仍然不是最好的方式。 – PlovIsLove

+0

或者最簡單的方法是給每個按鈕添加一個標籤。但是,仍然應該有更好的解決方案。 – PlovIsLove

相關問題