iOS 12、UIStackView 的问题
iOS 12, issue with UIStackView
我已经使用 UIStackView 创建了可以通过删除按钮删除的筹码。它与 iOS 11 一起工作正常,如下所示
但是,当我尝试移除芯片时,我遇到了 iOS12 中标签重叠的问题。视图已从列表中删除,但仍保留在某处,这就是它显示如下的原因:
我试图调查并发现我删除的视图仍在堆栈中,但在 arrangedSubviews
的数组中计数是 0
谁能帮我找到解决办法?还是 iOS 12 的已知问题?
-[UIStackView removeArrangedSubview:]
的文档建议您通过在 removeArrangedSubview:
之后调用 removeFromSuperview
从 UIStackView
中删除以前排列的视图。
在 iOS 11 及更低版本中,当您调用 -[UIStackView removeArrangedSubview:]
并且未从 UIStackView
中移除先前排列的视图时,视图的位置已移出屏幕。因为它被移走了,我个人从来没有注意到它也应该从超级视图中删除的文档。
在iOS12中,视图不再移出屏幕。这强制您应该按照文档的建议从堆栈视图中删除视图。
https://developer.apple.com/documentation/uikit/uistackview/1616235-removearrangedsubview
我已经使用 UIStackView 创建了可以通过删除按钮删除的筹码。它与 iOS 11 一起工作正常,如下所示
但是,当我尝试移除芯片时,我遇到了 iOS12 中标签重叠的问题。视图已从列表中删除,但仍保留在某处,这就是它显示如下的原因:
我试图调查并发现我删除的视图仍在堆栈中,但在 arrangedSubviews
的数组中计数是 0
谁能帮我找到解决办法?还是 iOS 12 的已知问题?
-[UIStackView removeArrangedSubview:]
的文档建议您通过在 removeArrangedSubview:
之后调用 removeFromSuperview
从 UIStackView
中删除以前排列的视图。
在 iOS 11 及更低版本中,当您调用 -[UIStackView removeArrangedSubview:]
并且未从 UIStackView
中移除先前排列的视图时,视图的位置已移出屏幕。因为它被移走了,我个人从来没有注意到它也应该从超级视图中删除的文档。
在iOS12中,视图不再移出屏幕。这强制您应该按照文档的建议从堆栈视图中删除视图。
https://developer.apple.com/documentation/uikit/uistackview/1616235-removearrangedsubview