当前位置:  开发笔记 > IOS > 正文

如何找到特定UITabBarItem的UIView?

如何解决《如何找到特定UITabBarItem的UIView?》经验,为你挑选了2个好方法。

我正在使用一个名为SwiftyWalkthrough的外部库,它允许我在屏幕上仅显示某些视图,以通过我的应用程序的UI引导新用户.我想要向用户公开的第一个项目是UITabBarItem.我需要找到与该特定UITabBarItem相关联的UIView.我知道该项目的索引,我给它一个标签.但我没有找到方法帮助我找到这个观点.当然,我只想使用公共接口来实现这一目标.



1> Carl Smith..:

我通过访问tabBar的子视图解决了我的问题.userInteractionEnabled的视图是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})
    }
}



2> 小智..:

Swift 3版本为Carl Smith的答案

func orderedTabBarItemViews() -> [UIView] {
    let interactionViews = tabBar.subviews.filter({$0.isUserInteractionEnabled})
    return interactionViews.sorted(by: {$0.frame.minX < $1.frame.minX})
}

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有