gpt4 book ai didi

ios - subview 更改时禁止 UIView 重新布局

转载 作者:行者123 更新时间:2023-11-29 13:40:37 24 4
gpt4 key购买 nike

请参阅下面的更新:

我对 UIView 布局感到困惑,因为 subview 正在移动。我有一个“Surface”UIView,上面有几个“Item” subview 。允许用户单击项目并将它们拖到表面上。

不过我注意到的是,每当 Surface 的 Item subview 移动(被用户拖动)时,Surface 就会被标记为需要中继。

我不希望 Surface 在用户移动项目后对其进行布局。这几乎就是重点,我允许用户按照他们认为合适的方式放置它们。然而,有时,初始创建是一个很好的例子,我确实需要 Surface 来放置项目。

所以我想要两件事之一:

A) 当其 Item subview 之一发生变化(移动)时,抑制表面上的 SetNeedsLayout() 调用。

——或者——

B) 知道为什么我被要求重新布局,如果它是由项目运动引起的,那么什么都不做。

我无法想象我是第一个提出这个问题的人......:)

###### 更新:

经过更多调查,我发现了更多关于正在发生的事情。并不是像我最初认为的那样,移动 Surface 的项目会导致 Surface 重新布局。这只是导致重新布局的阻力的开始。在进一步挖掘中,我发现它甚至不是拖拽的原因,而是对 Surface 的 bringSubviewToFront 的调用。

我需要将 Item 放在最前面,这样当它被拖动时它会出现在其他项目之上。

我能理解为什么引入 subview 可能会触发重新布局,但这同样不是我想要发生的。

最佳答案

也许你应该覆盖 Surface UIView 中的 layoutSubviews。

关于ios - subview 更改时禁止 UIView 重新布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303868/

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