在超级视图中平移 UImage swift
Pan UImage within superview swift
我正在尝试使用平移手势在其超级视图中移动 UIImageView
,尽管我能够使超级视图在 self.view 中移动 我无法移动其中之一它自身的子视图。
这些是我代码中的相关行
let couponOutline = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 424))
let imageView = UIImageView(image: UIImage(named: "ImagePlaceHolder"))
imageView.frame = CGRect(x: 0, y: 0, width: 128, height: 128)
imageView.center = CGPoint(x: 230, y: 300)
couponOutline.addSubview(imageView)
self.view.addSubview(couponOutline)
let panRec = UIPanGestureRecognizer(target: self, action: "moveView:")
panRec.minimumNumberOfTouches = 1
imageView.addGestureRecognizer(panRec)
在 moveView: 方法中
func moveView(sender: UIPanGestureRecognizer) {
println("pan")
let couponOutline = view.subviews[0] as! UIView
print(couponOutline)
var translation = sender.translationInView(self.view)
sender.view?.center = CGPoint(
x: sender.view!.center.x + translation.x,
y: sender.view!.center.y + translation.y)
sender.setTranslation(CGPoint(x: 0, y: 0), inView: couponOutline)
我正在尝试在 couponOutline 中移动 imageView,当我使用此代码时它根本不会选择手势(未显示 println("pan"))。
我会做的是使用 UIScrollView
。按照下面链接的教程进行操作(转到 "Scrolling and Zooming a Large Image")
滚动视图对我计划添加的某些功能没有用,我终于找到了解决方案 - 我需要做的就是设置 imageView.userInteractioEnabled = true
。
我正在尝试使用平移手势在其超级视图中移动 UIImageView
,尽管我能够使超级视图在 self.view 中移动 我无法移动其中之一它自身的子视图。
这些是我代码中的相关行
let couponOutline = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 424))
let imageView = UIImageView(image: UIImage(named: "ImagePlaceHolder"))
imageView.frame = CGRect(x: 0, y: 0, width: 128, height: 128)
imageView.center = CGPoint(x: 230, y: 300)
couponOutline.addSubview(imageView)
self.view.addSubview(couponOutline)
let panRec = UIPanGestureRecognizer(target: self, action: "moveView:")
panRec.minimumNumberOfTouches = 1
imageView.addGestureRecognizer(panRec)
在 moveView: 方法中
func moveView(sender: UIPanGestureRecognizer) {
println("pan")
let couponOutline = view.subviews[0] as! UIView
print(couponOutline)
var translation = sender.translationInView(self.view)
sender.view?.center = CGPoint(
x: sender.view!.center.x + translation.x,
y: sender.view!.center.y + translation.y)
sender.setTranslation(CGPoint(x: 0, y: 0), inView: couponOutline)
我正在尝试在 couponOutline 中移动 imageView,当我使用此代码时它根本不会选择手势(未显示 println("pan"))。
我会做的是使用 UIScrollView
。按照下面链接的教程进行操作(转到 "Scrolling and Zooming a Large Image")
滚动视图对我计划添加的某些功能没有用,我终于找到了解决方案 - 我需要做的就是设置 imageView.userInteractioEnabled = true
。