{"id":21802871,"url":"https://github.com/coderzhuxh/xhtabbarswift","last_synced_at":"2025-04-13T18:51:50.237Z","repository":{"id":56928040,"uuid":"65173731","full_name":"CoderZhuXH/XHTabBarSwift","owner":"CoderZhuXH","description":"Swift,一行代码创建自定义tabBar  - 支持小红点、数字角标、自定义高度","archived":false,"fork":false,"pushed_at":"2017-02-05T14:37:29.000Z","size":890,"stargazers_count":101,"open_issues_count":1,"forks_count":26,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-12T20:48:23.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoderZhuXH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-08T04:56:38.000Z","updated_at":"2024-12-19T04:49:18.000Z","dependencies_parsed_at":"2022-08-21T06:20:23.035Z","dependency_job_id":null,"html_url":"https://github.com/CoderZhuXH/XHTabBarSwift","commit_stats":null,"previous_names":["coderzhuxh/xhtabbar-swift"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderZhuXH%2FXHTabBarSwift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderZhuXH%2FXHTabBarSwift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderZhuXH%2FXHTabBarSwift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderZhuXH%2FXHTabBarSwift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoderZhuXH","download_url":"https://codeload.github.com/CoderZhuXH/XHTabBarSwift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248765986,"owners_count":21158296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-27T11:33:58.910Z","updated_at":"2025-04-13T18:51:50.215Z","avatar_url":"https://github.com/CoderZhuXH.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# XHTabBarSwift\n\n#### 一行代码创建自定义TabBar,支持小红点,数字角标及自定义高度\n\n[![AppVeyor](https://img.shields.io/appveyor/ci/gruntjs/grunt.svg?maxAge=2592000)](https://github.com/CoderZhuXH/XHTabBarSwift)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/CoderZhuXH/XHTabBarSwift)\n[![Version Status](https://img.shields.io/cocoapods/v/XHTabBarSwift.svg?style=flat)](http://cocoadocs.org/docsets/XHTabBarSwift)\n![Support](https://img.shields.io/badge/support-iOS%208%2B-brightgreen.svg)\n[![Pod Platform](https://img.shields.io/cocoapods/p/XHTabBarSwift.svg?style=flat)](http://cocoadocs.org/docsets/XHTabBarSwift)\n[![Pod License](https://img.shields.io/cocoapods/l/XHTabBarSwift.svg?style=flat)](https://github.com/CoderZhuXH/XHTabBarSwift/blob/master/LICENSE)\n\n==============\n\n#### OC版请戳这里\u003e\u003e\u003e  https://github.com/CoderZhuXH/XHTabBar\n\n###技术交流群(群号:537476189).\n## 效果\n![image](https://raw.githubusercontent.com/CoderZhuXH/XHTabBar/master/DEMO.PNG)\n\n## 使用方法\n### 1.在Appdelegate 中初始化,并设置为根控制器\n```swift\n    /*\n    控制器name数组\n    */\n    let  controllerArray = [\"MainVC\",\"MsgVC\",\"FriendVC\",\"MeVC\"]\n    /*\n    title数组\n    */\n    let  titleArray = [\"首页\",\"消息\",\"朋友\",\"我的\"]\n    /*\n    默认图片数组\n    */\n    let  imageArray = [\"home_tabbar\",\"msg_tabbar\",\"friend_tabbar\",\"me_tabbar\"]\n    /*\n    选中图片数组\n     */\n    let  selImageArray = [\"home_tabbar_sel\",\"msg_tabbar_sel\",\"friend_tabbar_sel\",\"me_tabbar_sel\"]\n    /*\n    tabbar高度最小值49.0, 传nil或\u003c49.0均按49.0处理\n    */\n    let height = CGFloat(49)\n        \n    /*\n    创建tabBarController\n    */\n    let tabBarController = XHTabBar(controllerArray:controllerArray,titleArray: titleArray,imageArray: imageArray,selImageArray: selImageArray,height:height)\n\n    /*\n    设置为根控制器    \n    */\n    window?.rootViewController = tabBarController\n```\n### 2.影藏tabBar\n```swift\n     /*\n     push界面时,影藏tabBar,如下\n     */\n     let controller = UIViewController.init()\n     controller.hidesBottomBarWhenPushed = true\n     self.navigationController?.pushViewController(controller, animated: true)\n```\n### 3.角标、小红点及其他设置接口\n```swift\n\n     /**\n     *  手动切换显示到指定控制器\n     *\n     *  - param: index 位置\n     */\n    public func showControllerIndex(_ index: Int)\n    \n    /**\n     *  设置数字角标\n     *\n     *  - param: num   所要显示数字\n     *  - param: index 位置\n     */\n    public func showBadgeMark(_ badge:: Int, index: Int)\n        \n    /**\n     *  设置小红点\n     *\n     *  - param: index 位置\n     */\n    public func showPointMarkIndex(_ index: Int)\n    \n    /**\n     *  影藏指定位置角标\n     *\n     *  - param: index 位置\n     */\n    public func hideMarkIndex(_ index: Int)\n\n```\n### 4.定义tabbar文字大小,颜色,请在XHTabBar.m 顶部修改下面值即可\n```swift\n/**\n *  tabbar背景色\n */\nprivate let ColorTabBar = UIColor.white\n\n/**\n *  title默认颜色\n */\nprivate let ColorTitle = UIColor.gray\n\n/**\n *  title选中颜色\n */\nprivate let ColorTitleSel = ColorRGB(41,g: 167,b: 245)\n\n/**\n *  title字体大小\n */\nprivate let titleFontSize : CGFloat = 12.0\n\n/**\n *  数字角标直径\n */\nprivate let numMarkD:CGFloat = 20.0\n\n/**\n *  小红点直径\n */\nprivate let pointMarkD:CGFloat = 12.0\n\n/**\n *  button 图片与文字上下占比\n */\nprivate let scale:CGFloat = 0.55\n\n\n```\n##  安装\n### 手动添加:\u003cbr\u003e\n*   1.将 XHTabBar 文件夹添加到工程目录中\u003cbr\u003e\n\n### CocoaPods:\u003cbr\u003e\n*   1.在 Podfile 中添加 pod 'XHTabBarSwift'\u003cbr\u003e\n*   2.执行 pod install 或 pod update\u003cbr\u003e\n*   3.导入 import XHTabBarSwift\n\n### Tips\n*   1.如果发现pod search XHTabBarSwift 搜索出来的不是最新版本，需要在终端执行cd desktop退回到desktop，然后执行pod setup命令更新本地spec缓存（需要几分钟），然后再搜索就可以了\n*   2.如果你发现你执行pod install后,导入的不是最新版本,请删除Podfile.lock文件,在执行一次 pod install\n\n## 注意\n*  该项目通过 `动态获取命名空间` + `.` + `类名` 来创建类对象,如下:\n```swift\nlet cls: AnyClass? = NSClassFromString(命名空间 + \".\" + 类名)\n```\n*  实测中发现,当命名空间为非全英文 或含有 ` - ` 等特殊字符时 创建类对象会为 `nil`\n*  1.项目命名空间默认为项目名称.\u003cbr\u003e\n   2.当碰到类名称正确 创建类对象失败(即`报error:cls不能当做UIViewController错误时`)时,可以到TARGETS -\u003e Build Settings -\u003eProduce Name 中修改命名空间为全英文,并去掉命名空间中 ` - ` 等特殊字符:\n![image](https://github.com/CoderZhuXH/XHTabBarSwift/blob/master/ProductName.png)\n\n##  系统要求\n*   该项目最低支持 iOS 8.0 和 Xcode 8.0\n\n##  许可证\n    XHTabBarSwift 使用 MIT 许可证，详情见 LICENSE 文件\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderzhuxh%2Fxhtabbarswift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderzhuxh%2Fxhtabbarswift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderzhuxh%2Fxhtabbarswift/lists"}