2016-03-07 138 views
0

希望有人能帮助我。我试图做一个缩放手势,所以当图像呈现时,用户可以用手指缩放图像。Xcode Swift图像缩放手势

我的代码来呈现图像是:

// MARK: Show image full screen 

func imageTapped(img: AnyObject) { 

    self.navigationController?.navigationBarHidden = true 

    let imageView = productImage as UIImageView 

    let newImageView = UIImageView(image: imageView.image) 
    newImageView.frame = self.view.frame 
    newImageView.backgroundColor = .blackColor() 
    newImageView.contentMode = .ScaleToFill 
    newImageView.userInteractionEnabled = true 

    let tap = UITapGestureRecognizer(target: self, action: "dismissFullscreenImage:") 
    newImageView.addGestureRecognizer(tap) 
    self.view.addSubview(newImageView) 
} 

func dismissFullscreenImage(sender: UITapGestureRecognizer) { 
    sender.view?.removeFromSuperview() 
    self.navigationController?.navigationBarHidden = false 
} 

回答

0

使用的UIScrollView,并在滚动视图中添加UIImgeView

import UIKit 

class ViewController: UIViewController,UIScrollViewDelegate 
{ 
    var scrollV : UIScrollView! 
    var imageView : UIImageView! 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     self.navigationController?.navigationBarHidden = true 

     scrollV=UIScrollView() 
     scrollV.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height) 
     scrollV.minimumZoomScale=1 
     scrollV.maximumZoomScale=3 
     scrollV.bounces=false 
     scrollV.delegate=self; 
     self.view.addSubview(scrollV) 

     imageView=UIImageView() 
     imageView.image = UIImage(imageLiteral: "neymar.jpg") 
     imageView.frame = CGRectMake(0, 0, scrollV.frame.width, scrollV.frame.height) 
     imageView.backgroundColor = .blackColor() 
     imageView.contentMode = .ScaleToFill 
     scrollV.addSubview(imageView) 
    } 

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? 
    { 
     return imageView 
    } 
} 
+0

如何让图片在点击时显示完整尺寸? –

+0

在图像视图上添加点按手势,并使用图像和取消按钮创建新视图。点击取消按钮后,从超级视图中删除此视图 –

1

采取的姿态编程并使其方法并写下在这段代码方法。

pinchRecognizerOnView()是我的方法名称。在视图控制器中添加一个视图或图像视图,并在其中添加新视图。现在,在此新视图上应用手势方法。

func pinchRecognizerOnView(sender: UIPinchGestureRecognizer!) { 

    sender.view?.transform = CGAffineTransformScale((sender.view?.transform)!, sender.scale, sender.scale) 

    sender.scale = 1 

    // its for zoom in out screen 
}