2016-08-27 7 views
0

スクロール表示で画像を拡大するときに問題があります。 スクロールビューを幅125と高さ375の左に置くと、画像は拡大されません。スクロール表示で画像を拡大

私はスクロールビューをビューの中央に置いた場合にのみ機能します。

スクリーンショット:それは左側にありますのに、なぜスクロールビューを

Screenshot

をズームされていませんか?ここで

は私のコード

var imgview:UIImageView! 

var imagepicked:UIImage! 

var minZoomScale:CGFloat! 

let picker = UIImagePickerController() 


@IBOutlet weak var scrollViewSquare: UIScrollView! 

override func viewDidLoad() { 

    super.viewDidLoad() 
    picker.delegate = self 
    scrollViewSquare.delegate = self 
    picker.allowsEditing = false 
    picker.sourceType = .PhotoLibrary 
} 

func imagePickerController(
    picker: UIImagePickerController, 
    didFinishPickingMediaWithInfo info: [String : AnyObject]) 
{ 
    imagepicked = (info[UIImagePickerControllerOriginalImage] as? UIImage)! 
     ImageViewInit() 

    dismissViewControllerAnimated(false, completion: nil) 
} 

@IBAction func Pick(sender: AnyObject) { 


    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){ 
self.presentViewController(picker, animated: true, completion: nil) 
    } 
} 

func ImageViewInit(){ 
    imgview = UIImageView() 
    imgview.frame = CGRectMake(0, 0, imagepicked.size.width, imagepicked.size.height) 
    imgview.image = imagepicked 
    imgview.contentMode = .ScaleAspectFit 
    imgview.backgroundColor = UIColor.greenColor() 
    scrollViewSquare.maximumZoomScale = 4; 
    scrollViewSquare.minimumZoomScale = 0.02; 
    scrollViewSquare.bounces = true; 
    scrollViewSquare.bouncesZoom = true; 
    scrollViewSquare.contentMode = .ScaleAspectFit 
    scrollViewSquare.contentSize = imagepicked.size 
    scrollViewSquare.autoresizingMask = UIViewAutoresizing.FlexibleWidth 
    scrollViewSquare.addSubview(imgview) 
    setZoomScale() 
} 

func setZoomScale(){ 
    let imageViewSize = imgview.bounds.size 
    let scrollViewSize = scrollViewSquare.bounds.size 
    let widthScale = scrollViewSize.width/imageViewSize.width 
    let heightScale = scrollViewSize.height/imageViewSize.height 
    minZoomScale = max(widthScale, heightScale) 
    scrollViewSquare.minimumZoomScale = minZoomScale 
    scrollViewSquare.zoomScale = minZoomScale 
} 


func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 

     return imgview 

} 
+0

シフトキー、あなたが言うことを意味するか、あなたは右、シミュレーターでそれをズームすることができませんか?もし心配しなければ、それはデバイス上で動作します..私はあなたのコードをコンパイルしました、それは働いています – Janmenjaya

答えて

0

こんにちは@Bensalem Ilyes、ある

ので、ピンチ、ピンチジェスチャーの中心は中老にあるので、私はシミュレータ上では動作しませんあなたのコードやズームを試してみましたスクロールビューは単純なパンジェスチャーとして翻訳されます。私は実際のデバイスであなたのコードを試して、ズームがうまく動作します。

シミュレータ上でピンチジェスチャーを再配置するために

: ALT +ベンセーラムIlyes @

+0

ありがとう –