在UIImageView的UIImage在Swift中移动UIView
问题描述:
我想在基本图像上移动一个图像。在UIImageView的UIImage在Swift中移动UIView
如果我正在移动那UIView
,它穿过UIImageView's
图像。
如何限制UIView's
在UIImageView'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)
}
}
需要输出:
我的输出
答
你可以试试这个:
@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的视图中移动视图 –
上的UIImageView添加的UIView,并表现出一定的代码。 – Sahil
我编辑过。 @Sahil –
UIView是UIImageView的子视图吗? – dfd