我正在构建一个应用程序,该应用程序将在屏幕顶部的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)
}
}
我认为您不能将其拖到超级视图范围之外。您可以做的是:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句