作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试在 UICollectionViewCell
中添加一个 UIScrollView
。这个想法是,您可以使用捏合来缩放 UIScrollView
(以及其中的图像),但 ScrollView 似乎无法处理任何手势。我猜他们被 UICollectionView
捕获了。
我已将 UIScrollView
的委托(delegate)设置为 UICollectionViewCell
,但没有调用任何委托(delegate)方法。
编辑:我已经用代码制作了一个 github 存储库(尽可能简化)。虽然只有几行代码,但我看不出我做错了什么。
EDIT2:找到答案后,我将修复程序添加到上述 repo 中,希望其他人也觉得它有帮助:)
最佳答案
我刚刚在 iOS 9.3+ 上为 SWIFT 3 做了一个实现,我所做的就是:
<强>1。将 ImageView 放在 ScrollView 中
<强>2。将 ScrollView 委托(delegate)连接到 Collection View 单元类
<强>3。在 collectionview 子类上实现下面的代码
class FullScreenImageTextDetailCollectionViewCell: UICollectionViewCell, UIScrollViewDelegate {
@IBOutlet var scrollview: UIScrollView!
@IBOutlet weak var backgroundImageView: UIImageView!
override func awakeFromNib() {
self.scrollview.minimumZoomScale = 0.5
self.scrollview.maximumZoomScale = 3.5
self.scrollview.delegate = self
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.backgroundImageView
}
}
不需要在父 collectionview Controller 上添加或删除手势识别器,工作起来非常棒!
感谢前面的示例实现了这一点!
关于ios - 如何在 UICollectionViewCell 中缩放 UIScrollView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960556/
我是一名优秀的程序员,十分优秀!