TFSegment
- 一个包含一些简单动画效果的选择器视图
Contents
-
入门
-
注释 API
TFSegmentView.swift TFItemLabel.swift TFSegmentStyle.swift TFColorRGB.swift Timer+Block.swift
-
示例
支持 Swift 版本
- 从
Swift 4.1
支持 - ARC
- iOS>=8.0
- iPhone 或 iPad 屏幕上
如何使用 TFSegment
- CocoaPods 安装:
pod 'TFSegment'
- 手动导入:
- 将
TFSegment
文件夹中的所有文件拖到项目中 - 导入主文件:
import TFSegment
- 将
TFSegment结构图
TFSegment更改 01 默认
lazy var segmentView: TFSegmentView = {
let sv = TFSegmentView(frame: CGRect.init(x: 0, y: 60, width: UIScreen.main.bounds.width, height: 60), titles: titleArray)
sv.delegate = self
sv.delegateScrollView = scrollView
sv.titleStyle = .default //The text color of item change without animate 文字颜色直接变
sv.indicatorStyle = .default //Subscript without tensile change 下标无拉伸变化
sv.selectFontScale = 1.0 //Text scaling ratio 文字缩放比例(0.0~1.0)
return sv
}()
TFSegment更改 02 动画
lazy var segmentView: TFSegmentView = {
let sv = TFSegmentView(frame: CGRect.init(x: 0, y: segmentView1.frame.maxY+2, width: UIScreen.main.bounds.width, height: 60), titles: titleArray)
sv.delegate = self
sv.delegateScrollView = scrollView
sv.titleStyle = .gradual //Text color gradient 文字颜色渐变
sv.indicatorStyle = .followText //Subscript varies with text length 下标随文本长度变化
return sv
}()
TFSegment更改 03 动画
lazy var segmentView: TFSegmentView = {
let sv = TFSegmentView(frame: CGRect.init(x: 0, y: segmentView2.frame.maxY+2, width: UIScreen.main.bounds.width, height: 60), titles: titleArray)
sv.delegate = self
sv.delegateScrollView = scrollView
sv.titleStyle = .fill //Text color progress fill 文字颜色进度填充
sv.indicatorStyle = .stretch //Subscript varies with stretch下标拉伸变化
return sv
}()
TFSegment更改 04 动画
lazy var segmentView: TFSegmentView = {
let sv = TFSegmentView(frame: CGRect.init(x: 0, y: segmentView3.frame.maxY+2, width: UIScreen.main.bounds.width, height: 60), titles: titleArray)
sv.delegate = self
sv.delegateScrollView = scrollView
sv.titleStyle = .fill //Text color progress fill 文字颜色进度填充
sv.indicatorStyle = .followTextStretch // Subscript varies with text length and stretch下标随文本长度变化 且 拉伸变化
return sv
}()
TFSegment更改 05 其他字段
/**Background color, default white / 背景颜色, 默认白色*/
public var backColor: UIColor = UIColor.white
/**Item maximum display, default 8 / Item最大显示数, 默认8*/
public var maxItemCount: NSInteger = 8
/**Item width, split without setting / Item宽度, 不设置则平分*/
public var tabItemWidth: CGFloat = 0.0
/**Text effect of item / Item的文字效果*/
public var titleStyle: TFTitleTransformStyle = .default
/**Selected font color / 选中字体颜色*/
public var selectedColor: UIColor = UIColor.red
/**UnSelected font color / 未选中字体颜色*/
public var unSelectedColor: UIColor = UIColor.black
/**Text font size, default 18 / 默认字体大小, 默认18*/
public var titleFont: UIFont = UIFont.systemFont(ofSize: 18)
/**UnSelected font reduction, default is 0.8(0~1) / 未选中字体缩小比例,默认是0.8(0~1)*/
public var selectFontScale: CGFloat = 0.8
/**Subscript effect / 下标效果*/
public var indicatorStyle: TFIndicatorWidthStyle = .default
/**Subscript height, default 2.0 / 下标高度,默认是2.0*/
public var indicatorHeight: CGFloat = 2.0
/**Subscript width, default is 30 / 下标宽度,默认是30*/
public var indicatorWidth: CGFloat = 30.0
/**Bottom Secant Color, default clear / 底部分割线颜色, 默认透明*/
public var separatorColor: UIColor = UIColor.clear
警告 必须执行
extension ViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
segmentView.scrollViewDidScroll(scrollView)
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
segmentView.scrollViewDidEndDecelerating(scrollView)
}
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
segmentView.scrollViewDidEndScrollingAnimation(scrollView)
}
}
希望
- 如果在使用时发现错误,希望您能向我提交问题,谢谢,或尝试下载此框架的最新代码,以查看错误是否已修复)
- 如果在使用时觉得功能不足,希望您能向我提交问题,我很乐意为这个框架添加更多有用的功能,谢谢!
- 如果想为TFSegment贡献代码,请向我发起Pull Requests
- 如果您在您的开发应用中使用TFSegment,希望您能访问CocoaControls为您应用添加iTunes路径,我会安装您的应用,并根据许多应用的使用情况,设计得更好并改进TFSegment,谢谢!
- 步骤01(微信只是一个示例,探索“您的应用名称 iTunes”)
- 步骤02
- 步骤03
- 步骤04