gpt4 book ai didi

iOS:在发生触摸时转移 UIView 的所有权?

转载 作者:可可西里 更新时间:2023-11-01 03:30:52 26 4
gpt4 key购买 nike

收到touchesBegan的那一刻,我想removeFromSuperview被触摸的 View ,addSuperview到一个新的父 View ,然后继续接收触摸。但是我发现有时这不起作用。具体来说,永远不会调用 touchesMovedtouchesEnded

是否有使这项工作正常进行的技巧?这是为了实现拖放行为,其中 View 最初位于 ScrollView 内。

谢谢。

最佳答案

代替:

[transferView removeFromSuperView];
[newParentView addSubview:transferView];

仅使用:

[newParentView addSubview:transferView];

documentation状态:“ View 只能有一个父 View 。如果 View 已经有一个父 View 并且该 View 不是接收者,则此方法会在使接收者成为新的父 View 之前删除先前的父 View 。”

因此不需要使用removeFromSuperView,因为它是由addSubview处理的。我注意到 removeFromSuperView 会在不调用 touchesEnded 的情况下结束所有当前触摸。如果您只使用 addSubview,触摸不会中断。

关于iOS:在发生触摸时转移 UIView 的所有权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10031253/

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