ios - 双指缩放 CollectionView 单元格中的 UIImageView

标签 ios swift uicollectionviewcell

我正在尝试添加一个 IBAction 来将图像捏合和缩放到自定义单元格类,但 Storyboard给出了一个错误,指出操作不能针对重复内容。 这是自定义单元格类:

class PhotoCell: UICollectionViewCell {

// Outlets
@IBOutlet weak var photoImgV: UIImageView!
@IBOutlet weak var captionTV: UITextView!
@IBOutlet weak var captionBtn: UIButton!
@IBOutlet weak var captionStackView: UIStackView!
@IBOutlet weak var likeCountLabel: UILabel!
@IBOutlet weak var comntCountLabel: UILabel!
@IBOutlet weak var pinch: UIPinchGestureRecognizer!

// Actions
@IBAction func pinch(sender:UIPinchGestureRecognizer) {
    if sender.state == .began || sender.state == .changed {
        let currentScale = self.photoImgV.frame.size.width / self.photoImgV.bounds.size.width
        let newScale = currentScale*sender.scale
        let transform = CGAffineTransform(scaleX: newScale, y: newScale)
        self.photoImgV.transform = transform
        sender.scale = 1
    }
}

@IBAction func showCaption(){
    UIView.animate(withDuration: 0.5) {
        if self.captionStackView.arrangedSubviews[1].isHidden {
            self.captionStackView.arrangedSubviews[1].isHidden = false
        }else{
            self.captionStackView.arrangedSubviews[1].isHidden = true
        }
    }
}

它允许我将 IBAction 连接到按钮以在同一单元格中显示/隐藏标题,那么为什么不允许捏合?我如何捏合和缩放单元格中的图像?

最佳答案

我通过从 Storyboard中删除捏合手势并在 awakeFromNib() 方法中创建它来解决它:

    override func awakeFromNib() {
    super.awakeFromNib()
    let pinch = UIPinchGestureRecognizer(target: self, action: #selector(self.pinch(sender:)))
     photoImgV.addGestureRecognizer(pinch)
}

其他都是一样的。

关于ios - 双指缩放 CollectionView 单元格中的 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48042473/

相关文章:

ios - Xcode 不会在 Storyboard中显示我的文本字段占位符文本

json - 在 UIPickerView 上选择一行时如何用信息填充第二个 View Controller

ios - SwiftUI 转义闭包捕获变异的 'self' 参数

uicollectionview - 将 nib 加载到 UICollectionViewCell 中

ios - 如何为其他设备显示我的自定义 Collection View

ios - 如何使用动画(deleteItemsAtIndexPaths)从 UICollectionView 中删除唯一的单元格?

ios - swift 中的 alertControllers

ios - 如何正确消除这个并发编译错误?

ios - 通过RESTful-Http与iPhone App的Web服务进行通信的最佳方法是什么

ios - 我应该选择 ViewController 还是 TableViewController?