iOS 12、UIStackView 的问题

iOS 12, issue with UIStackView

我已经使用 UIStackView 创建了可以通过删除按钮删除的筹码。它与 iOS 11 一起工作正常,如下所示

但是,当我尝试移除芯片时,我遇到了 iOS12 中标签重叠的问题。视图已从列表中删除,但仍保留在某处,这就是它显示如下的原因:

我试图调查并发现我删除的视图仍在堆栈中,但在 arrangedSubviews 的数组中计数是 0

谁能帮我找到解决办法?还是 iOS 12 的已知问题?

-[UIStackView removeArrangedSubview:] 的文档建议您通过在 removeArrangedSubview: 之后调用 removeFromSuperviewUIStackView 中删除以前排列的视图。

在 iOS 11 及更低版本中,当您调用 -[UIStackView removeArrangedSubview:] 并且未从 UIStackView 中移除先前排列的视图时,视图的位置已移出屏幕。因为它被移走了,我个人从来没有注意到它也应该从超级视图中删除的文档。

在iOS12中,视图不再移出屏幕。这强制您应该按照文档的建议从堆栈视图中删除视图。

https://developer.apple.com/documentation/uikit/uistackview/1616235-removearrangedsubview