我正在构建一个应用程序,它将在屏幕顶部的scrollView中包含对象,并希望用户能够将这些子视图拖动到下面的新scrollView中。
层次结构如下所示:
我已经将子视图设置为可拖动,但它们只能在超级视图中保持可见(顶部滚动视图)。我希望能够将它们拖动到主超级视图中的任何位置(即控制器的self.view) 我尝试通过设置子视图的属性“dragView”将主超级视图传递到可拖动视图。
这是我添加到类“DraggableView”的拖动方法,它是UIView的子类。
代码:
class DraggableView: UIView
{
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
var dragView: UIView! // Superview to pass in
override func touchesMoved(touches: NSSet, withEvent event: UIEvent)
{
let touch = touches.anyObject() as UITouch
let location = touch.locationInView(self.dragView)
let oldLocation = touch.previousLocationInView(self.dragView)
self.frame = CGRectOffset(self.frame, location.x-oldLocation.x, location.y-oldLocation.y)
}
}
答案 0 :(得分:1)
我认为你不能把它拖出超级视界。 你能做的是: