2016-10-13 5 views
0

이미지 뷰를 확대 할 수 없다는 점을 제외하면 모든 것이 완벽하게 작동합니다. 내가있는 ScrollView과는Scrollview가 확대되지 않습니다

func performZoomingForStartImageView(imageView: UIImageView){ 


    if let keyWindow = UIApplication.shared.keyWindow { 

     blackBackground = UIScrollView(frame: CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y, width: self.view.frame.size.width, height: self.view.frame.size.height)) 
     blackBackground?.delegate = self 
     blackBackground?.maximumZoomScale = 4.0 
     blackBackground?.minimumZoomScale = 1.0 
     blackBackground?.isScrollEnabled = true 
     blackBackground?.backgroundColor = .black 
     blackBackground?.alpha = 0.0 
     blackBackground?.isUserInteractionEnabled = true 
     blackBackground?.contentSize = CGSize(width: 0, height: self.view.frame.size.height) 
     keyWindow.addSubview(blackBackground!) 

     self.startingImageView = imageView 
     self.startingImageView?.isHidden = true 
     startingFrame = imageView.superview?.convert(imageView.frame, to: nil) 

     zoomingImageView = UIImageView(frame: startingFrame!) 
     zoomingImageView.image = startingImageView?.image 
     zoomingImageView.contentMode = .scaleAspectFit 
     zoomingImageView.isUserInteractionEnabled = true 
     zoomingImageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.handleZoomOut))) 
     zoomingImageView.addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(self.saveImage))) 
     blackBackground?.addSubview(zoomingImageView) 

     UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: [.curveEaseOut,.allowUserInteraction], animations: { 
      self.blackBackground?.alpha = 1.0 
      self.inputContainerView.alpha = 0 
      //let height = startingFrame!.height/startingFrame!.height * keyWindow.frame.widthimagedShown 
      self.zoomingImageView.frame = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y, width: self.view.frame.size.width, height: self.view.frame.size.height) 
      self.zoomingImageView.center = keyWindow.center 

      }, completion: nil) 

    } 


} 

이 줌을 허용하도록되어 있지만, 인쇄라는 결코 극복하고 난 대리인

을 설정 한 내부의 이미지 뷰를 설정 곳
var zoomingImageView = UIImageView() 
var startingFrame : CGRect? 
var blackBackground : UIScrollView? 
var startingImageView: UIImageView? 

입니다
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 
    print("hi") 
    return zoomingImageView 
} 

답변

2

스위프트 3의 경우 메소드 서명이 변경되었습니다.

스위프트 3 :

func viewForZooming(in scrollView: UIScrollView) -> UIView? { 
    return imageView 
} 
+1

당신은 성인이다! 정말 고맙습니다. 감사합니다! –

+0

친절한 말 친구에게 감사드립니다. 건배! –

관련 문제