ios - 如何找到特定 UITabBarItem 的 UIView?

标签 ios swift uiview uitabbaritem

我正在使用一个名为 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/

相关文章:

ios - 如何在 Objective C 中将十六进制字符串转换为二进制数据

ios - 无法在 swift 2 中转换类型为 '[NSLayoutConstraint]' 的值错误

swift - 如何在 swift 3 中从 FacebookSdk 获取生日、城市、手机号码、州、国家

ios - UIScrollView subview 放置错误

iOS 通知 : How does WhatsApp receive notification and process even after force closing them?

ios - 离线时在 UIWebView 后面显示文本

swift - ImplicitlyUnwrappedOptional in init vs later

ios - 呈现 View Controller 时 UILabel 未加载/丢失

ios - 从 UIView 捕获 UIImage 然后在 WatchKit WKInterfaceImage 中使用它

ios - 滑动 UIView 时的动画错误