我有一个UICollectionViewCell子类,它应该在UIImageView中保存图像。在单元格中,我有一个UIScrollView,它包含UIImageView,因此UIImageView可以放大。
我的问题是我在哪里放置UIScrollViewDelegate?将它放在UICollectionViewCell中似乎会破坏MVC。我不能使单元格成为UICollectionView所在的UIViewController的属性,因为这会破坏dequeueReusableCellWithReuseIdentifier
中的单元重用。它是否属于单元子类,如果是,那么委托方法的正确UIView方法是什么?
答案 0 :(得分:0)
使集合视图单元的视图子类符合UIScrollViewDelegate
方法不会破坏MVC,并且适合处理单个单元格内的滚动事件。委托方法不会进入UIView
的方法,而是将它们添加到UIView
的子类中。
将视图视为层次结构,只要您的委托方法保持在同一级别,就不会与其他级别发生冲突。这说明了协议之美,可以将功能添加到MVC中的不同层,而不会形成或需要紧密耦合的关系。