2016-11-10 75 views
0

我想在基本圖像上移動一個圖像。在UIImageView的UIImage在Swift中移動UIView

如果我正在移動那UIView,它穿過UIImageView's圖像。

如何限制UIView'sUIImageView's圖片內移動?它應該支持正方形和矩形。移動視圖不應跨越邊界。

請親引導我。

在截圖中,UIImageView背景顏色爲黑色。 移動UIView是白色的。白色視圖正在穿過它的圖像[屏幕截圖2]。如何限制圖片內?

代碼:

@IBAction func panAcn(sender: UIPanGestureRecognizer) { 

    if sender.state == .Began || sender.state == .Changed { 

     let translation = sender.translationInView(self.myImgVw) 
     // note: 'view' is optional and need to be unwrapped 
     sender.view!.center = CGPointMake(sender.view!.center.x + translation.x, sender.view!.center.y + translation.y) 
     sender.setTranslation(CGPointMake(0,0), inView: self.myImgVw) 
    } 
} 

需要輸出:

enter image description here

我的輸出

enter image description here

+0

上的UIImageView添加的UIView,並表現出一定的代碼。 – Sahil

+0

我編輯過。 @Sahil –

+0

UIView是UIImageView的子視圖嗎? – dfd

回答

0

你可以試試這個:

@IBAction func panAcn(sender: UIPanGestureRecognizer) { 

    if sender.state == .Began || sender.state == .Changed { 

     let translation = sender.translationInView(self.myImgVw) 
     // note: 'view' is optional and need to be unwrapped 
     guard let view = sender.view else { return } 
     var newFrame = view.frame 
     newFrame.origin.x = max(self.myImgVw.frame.origin.x, view.frame.origin.x + translation.y) 
     newFrame.origin.y = max(self.myImgVw.frame.origin.y, view.frame.origin.y + translation.y) 
     view.frame = newFrame   
    } 
} 
+0

不工作@bobby –

+0

需要在imageview的視圖中移動視圖 –

相關問題