我正在尝试添加一个 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/