2017-04-25 95 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

相关问题