gpt4 book ai didi

iOS - 如何将一个 View 的 subview 拖到新 View 中(即拖放)?

转载 作者:可可西里 更新时间:2023-11-01 02:23:54 26 4
gpt4 key购买 nike

我正在构建一个应用程序,它将在屏幕顶部的 ScrollView 中包含对象,并希望用户能够将这些 subview 拖到下面的新 ScrollView 中。

层次结构如下所示:

  • 监督
    • 顶部 UIScrollView
      • DraggableView 类对象
    • 中间的 UIScrollView(可放置)
    • 底部 UIScrollView(可放置)

我已经让 subview 可以拖动,但它们只在它们的父 View (顶部 ScrollView )中保持可见。我希望能够将它们拖到主视图中的任何位置(即 Controller 的 self.view)我尝试通过设置 subview 的属性“dragView”将主 super View 传递给可拖动 View 。

这里是我添加到类“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)
}
}

最佳答案

我认为您不能将其拖出 super View 范围。您可以做的是:

  1. 创建可拖动 View 的副本
  2. 将其添加到 Superview
  3. 从顶部 UIScrollView 中删除可拖动 View
  4. 将它拖到 Midlle UIScrollView
  5. 把它放在上面
  6. 从 Superview 中删除它
  7. 然后重新创建并添加到Middle UIScrollView

关于iOS - 如何将一个 View 的 subview 拖到新 View 中(即拖放)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com