我尝试使用平移手势在其超级视图中移动UIImageView
,尽管我能够让superview在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")未显示)。
答案 0 :(得分:0)
我要做的是使用UIScrollView
。按照下面链接的教程(转到“滚动和缩放大图像”)
答案 1 :(得分:0)
滚动视图对我计划添加的某些功能不会有用,我终于找到了解决方案 - 我需要做的就是设置imageView.userInteractioEnabled = true
。