我正在使用一个名为 SwiftyWalkthrough 的外部库,它允许我在屏幕上仅显示某些 View ,以通过我的应用程序的 UI 引导新用户。我想要向用户公开的第一个项目是 UITabBarItem。我需要找到与特定 UITabBarItem 关联的 UIView。我知道该项目的索引,并且我已经给了它一个标签。但是我还没有找到让他们帮我找到 View 的方法。当然,我只想使用公共(public)接口(interface)来完成此操作。
最佳答案
我通过访问 tabBar 的 subview 解决了我的问题。具有 userInteractionEnabled 的 View 是 UITabBarItems。按它们的 minX 值对它们进行排序可确保它们与 tabBar.items 数组的顺序相同。
extension UITabBarController {
func orderedTabBarItemViews() -> [UIView] {
let interactionViews = tabBar.subviews.filter({$0.isUserInteractionEnabled})
return interactionViews.sorted(by: {$0.frame.minX < $1.frame.minX})
}
}
关于ios - 如何找到特定 UITabBarItem 的 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34051646/