繁体   English   中英

UIStackView - 拖动以重新安排排列的子视图?

[英]UIStackView - drag to reorder arranged subviews?

我试图获得一些关于如何在UITableView上实现相同类型的“拖动重新排序”行为但在UIStackView上的UIStackView

到目前为止,这就是我的想法:

  1. 为每个已arrangedSubview的子视图添加长按手势识别器
  2. 长按,将叠加UIView作为子视图添加到主视图,并填充整个主视图。 当我拖动临时“重新排序”视图时,这个叠加视图将充当各种各样的“画布” - 我们称之为tempView - 周围(更多关于4)
  3. UIStackViewalpha arrangedSubview为0(设置hidden = true将导致UIStackView动画关闭,就像它被删除一样。
  4. 添加tempView到覆盖图(参见图3)具有相同的初始帧作为arrangedSubview
  5. 拖动tempView向上或向下和插入/删除实际arrangedSubview基于所述的位置计算出的指标tempView
  6. 当长按state .Ended ,侦听.Ended并设置.Ended arrangedSubview.alpha = 1并从主视图中删除叠加视图。

有什么建议? 任何人看到的任何明显的洞? 你会改变什么? 你会朝哪个方向去做?

我已经创建了一个自定义控件来解决这个问题,可以在这里找到。

请参阅我在关于已知问题和未来更新的问题帖子上的最新评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM