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

时间:2015-10-16 07:43:59

标签: ios swift uitableview uikit uistackview

我正在尝试就如何在UITableViewUIStackView上执行相同类型的“拖动重新排序”行为提出一些建议。

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

  1. 为每个arrangedSubview
  2. 添加长按手势识别器
  3. 长按,将叠加层UIView作为子视图添加到主视图中,并填充整个主视图。当我拖动临时“重新订购”视图时,此叠加视图将充当各种各样的“画布” - 我们称之为tempView - 围绕(更多关于4)
  4. alpha的{​​{1}}设置为0(设置arrangedSubview会导致hidden = true动画关闭,就好像它被移除一样。
  5. UIStackView添加到叠加层视图(参见3),其初始帧与tempView
  6. 相同
  7. 向上或向下拖动arrangedSubview,根据tempView的位置,在计算出的索引处插入/删除实际arrangedSubview
  8. 在长按tempViewstate时收听,并设置.Ended并从主视图中删除叠加视图。
  9. 有什么建议吗?任何人看到的任何明显的洞?你会改变什么?你会朝哪个方向去做?

1 个答案:

答案 0 :(得分:3)

我已经创建了一个自定义控件来解决可以找到here的问题。

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