Worm Tab Strip
Worm Tab Strip 是受 android SmartTabLayout 的启发,这是一种用于 iOS 的类似 android view pager 的 swift 库。
基本而言,它是通过两个 scroll view 组成的,一个在顶部用于存放所有标签,一个用于每个标签的内容视图。基于 frame,而不是基于 auto layout constraint。
Worm Tab Strip 有两种样式
- 气泡样式
- 线样式
当前示例构建环境
XCode 9.2
Swift 4
安装
CocoaPods
pod 'WormTabStrip', '~> 1.0'
手动
- 将
WormTabStrip.swift
和WormTabStripButton.swift
文件拖放到项目中。 - 恭喜!
寻找 swift 2.3?
查看分支 swift2.3
使用示例
在你的 UIViewController 中实现 WormTabStripDelegate 然后做
let frame = CGRect(x: 0, y: 40, width: self.view.frame.size.width, height: self.view.frame.size.height - 40)
let viewPager:WormTabStrip = WormTabStrip(frame: frame)
self.view.addSubview(viewPager) //IMPORTANT!
viewPager.delegate = self
viewPager.eyStyle.wormStyel = .BUBBLE
viewPager.eyStyle.isWormEnable = true
viewPager.eyStyle.spacingBetweenTabs = 15
viewPager.eyStyle.dividerBackgroundColor = .red
viewPager.eyStyle.tabItemSelectedColor = .yellow
//default selected tab
viewPager.currentTabIndex = 3
//center the selected tab
viewPager.shouldCenterSelectedWorm = true
viewPager.buildUI()
需要自定义样式?
查看 WormTabStripStylePropertyies 结构,提供你的自定义样式
viewPager.eyStyle.wormStyel = .LINE
viewPager.eyStyle.isWormEnable = false
viewPager.eyStyle.spacingBetweenTabs = 15
viewPager.eyStyle.dividerBackgroundColor = .red
viewPager.eyStyle.tabItemSelectedColor = .yellow
...
在你调用之前
viewPager.buildUI()
可用的自定义属性
属性 | 描述 |
---|---|
wormStyel | 虫形泡泡或线的样式 |
kHeightOfWorm | 线样式下虫形的高度 |
kHeightOfWormForBubble | 泡泡样式下虫形的高度 |
kHeightOfDivider | 顶部滚动视图和内容滚动视图之间的分割线高度 |
kHeightOfTopScrollView | 顶部滚动视图的高度,用于承载所有标签 |
kMinimumWormHeightRatio | 最小虫形高度比例,应小于1 |
指标填充距(kPaddingOfIndicator) | 标签按钮填充,从文本到按钮每侧 |
标签之间的间距spacingBetweenTabs | 标签按钮之间的空间 |
isWormEnable | 布尔值,如果为false则不会对虫子进行动画 |
tabItemDefaultFont | 未选择标签的字体 |
tabItemSelectedFont | 选择标签的字体 |
tabItemDefaultColor | 未选择标签的文本颜色 |
tabItemSelectedColor | 选择标签的文本颜色 |
WormColor | 虫子的颜色 |
topScrollViewBackgroundColor | 包含所有标签顶部滚动视图的背景颜色 |
contentScrollViewBackgroundColor | 内容滚动视图的背景颜色 |
dividerBackgroundColor | 顶部滚动视图和内容滚动视图之间分隔视图的背景颜色 |
使用虫形标签条的App
Bagdax新闻,屏幕截图
贡献
我们非常欢迎您为 WormTabStrip 贡献,请检查 LICENSE
文件以获取更多信息。
元数据
Ezimet Yusup – Github –
在MIT许可下分发。有关更多信息,请参阅LICENSE
文件。