AZTabBarController 1.0.1

AZTabBarController 1.0.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2017年7月
SwiftSwift 版本3.0
SPM支持 SPM

Alex Zimin 维护。



  • Alexander Zimin

AZTabBarController

AZTabBarController 可以为默认的 UITabBarController 扩展功能,并创建具有自定义外观(动画、布局等)的定制 UITabBar 项目。目前仅适用于 Storyboard 配置(因此您的 UITabBarController 应位于 Storyboard 中)。

视觉示例

在此存储库中,您可以尝试 iOS Example 目标,其中包含 AZTabBarController 实现和自定义项(FashionTabBarItem.swiftMiddleTabBarItem)的示例。

Animation example

安装

  • 将以下内容添加到您的 Podfile 并运行 pod install
pod 'AZTabBarController'
  • 或者将以下内容添加到您的 Cartfile 并运行 carthage update
github "azimin/AZTabBarController"
  • 或者作为 Git 子模块克隆,

  • 或者只需将 Source/AZTabBarController.swiftSource/UIView+Extensions.swift 复制到您的项目中。

在 Storyboard 中设置 AZTabBarController

首先,您应在 Storyboard 中将 UITabBarController 替换为 AZTabBarController

First setup step

然后,在相同的 Storyboard 中将 UITabBar 替换为 AZTabBar

Second setup step

然后,将此 Storyboard 上的所有 UITabBarItem 替换为 AZTabBarItem

Third setup step

此外,别忘了在视图控制器的代码中实现标签栏中的代码。这个示例您可以在Demo的 iOS Example 项目中找到。

override func az_tabBarItemContentView() -> AZTabBarItemView {
  let tab = FashionTabBarItem.loadViewFromNib()
    
  tab.imageView.image = UIImage(named: "img_profile")
  tab.bottomLabel.text = "Profile"
    
  return tab
}

可能的断言

  • 所有标签栏项必须是 AZTabBarItem 类 意味着您在标签栏上的根视图中,有一个项使用了 UITabBarItem 类而不是 AZTabBarItem
  • 标签栏类必须是 AZTabBar 类 意味着您在 UITabBarViewController 上的标签栏是 UITabBar,但它应该是 AZTabBar

动态高度

  • 您可以在 Storyboard 中将默认高度设置为 @IBInspectable AZTabBarController 属性。
  • 如果想要改变标签栏的高度,您可以在任何子视图中调用(
self.az_tabBarController?.preferedHeight = 125

这将改变 Bottom Layout Guide

  • 如果您想更改特定项的高度,您应该使用您的 AZTabBarItemViewheightValue,它是这样的:
override func az_tabBarItemContentView() -> AZTabBarItemView {
  let tab = MiddleTabBarItem.loadViewFromNib()
    
  tab.heightValue = 50
    
  return tab
}

但请注意,底部布局指南会使用旧值。

待办事项

  • 支持 iOS 8+(从锚点移动到约束)
  • 支持代码创建(目前仅限 Storyboard)
  • 支持不带 xib 的 AZTabBarItemView
  • 增加了几个模板 AZTabBarItemView 子类
  • 改进示例