在UIImageView的UIImage在Swift中移动UIView

问题描述:

我想在基本图像上移动一个图像。在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

你可以试试这个:

@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的视图中移动视图 –