2017-12-31 153 views
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를 연결할 수, 왜 핀치가 허용되지 않는 : 여기 는 사용자 정의 셀 클래스? 셀의 이미지를 집어서 확대/축소하는 방법은 무엇입니까? 다른

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

모든 것이 동일합니다

+0

UICollectionViewCell? 클로저 (closure) 또는 무엇이든을 사용하고 뷰 컨트롤러가 처리하도록해야합니다. –

+0

도움을 주셔서 감사합니다. awakeFromNib() 메서드에서 집어 넣기 동작을 만들고 거기에있는 imageView에 연결하여 해결했습니다. – fullMoon

답변

0

나는 방법) 스토리 보드에서 핀치 제스처를 삭제합니다 (로 awakeFromNib에서 그것을 만들어 그것을 해결.