Ich versuche, eine IBAction hinzuzufügen, um ein Bild zu einer benutzerdefinierten Zellklasse Pinch und Zoom, aber Storyboard gibt einen Fehler, dass Aktionen nicht auf wiederholende Inhalte ausgerichtet werden können. Hier ist die individuelle Zellklasse:Zücken, um eine UIImageView in CollectionView Cell
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
}
}
}
Es erlaubt mir eine IBAction auf eine Schaltfläche, um eine Verbindung zum Anzeigen/Verbergen der Beschriftung in derselben Zelle, also warum pinch ist nicht erlaubt? Wie würde ich ein Bild in einer Zelle kneifen und vergrößern?
UICollectionViewCell? Sie müssen die Schließung oder was auch immer verwenden und lassen Sie den View-Controller damit umgehen. –
danke für deine Hilfe, löste ich es, indem ich die Pinch-Geste in der Methode watchFromNib() erstellte und sie dort an das imageView anfügte. – fullMoon