0
イメージをカスタムセルクラスにピンチしてズームするためにIBActionを追加しようとしていますが、ストーリーボードで繰り返しコンテンツをターゲットにできないというエラーが発生します。ここ は、カスタムセルクラスです:CollectionViewセルのUIImageViewをピンチで拡大/縮小する
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を接続することができ、なぜピンチが許可されていませんか?どのようにしてセルの画像をつまんでズームしますか?
UICollectionViewCell?クロージャーなどを使用して、ビューコントローラーに処理させる必要があります。 –
あなたの助けてくれてありがとう、awakeFromNib()メソッドでピンチジェスチャーを作成し、それをそこのimageViewにアタッチして解決しました。 – fullMoon