SwiftTickerView
1.5.0
以下有新渲染装饰者可供使用
initialRenderer(closure: (UIView, UIView?, SwiftTickerView, CGFloat) -> Void)
将节点视图放置在您想要的位置updateRenderer(closure: (UIView, CGFloat) -> Void)
使用此功能自定义渲染选项,例如淡入项目或淡出bottomToTopStopAtCenter(holdForSeconds seconds: TimeInterval)
这可以用于创建在电视上常用的横条,横条节点在底部出现,当到达中心时保持一段时间,然后继续到顶部
1.4.3
- 添加对iOS 9的支持
1.4.2
修复
- 在启动时调用 reloadData 修复 ignoreSeparator #5
1.4.1
修复
- 修复水平和垂直居中
1.4.0
通过添加新的装饰器轻松自定义渲染器
```Renderer.topToBottom.customize(with: SwiftTickerItemDecorators.prepareAtBottomInnerBorder(with: 8))```
以下新的渲染装饰器可用
* ```prepareAtTopInnerBorder()```
* ```prepareAtTopOuterBorder()```
* ```prepareAtBottomInnerBorder()```
* ```prepareAtBottomOuterBorder()```
* ```prepareAtLeftInnerBorder()```
* ```prepareAtLeftOuterBorder()```
* ```prepareAtRightInnerBorder()```
* ```prepareAtRightOuterBorder()```
InitialRenderer & SwiftTickerItemDecorator
或 UpdateRenderer & SwiftTickerItemDecorator
来实现您自己的初始或更新渲染装饰器
通过实现 以下新的计数器装饰器可用
- 调用
tickerView.add(.ignoreFirstSeparator)
将装饰器添加到 TickerView 以启用ignoreFirstSeparator
重命名
SwiftTickerView.Renderer.rightToLeft
重命名为Renderer.rightToLeft
SwiftTickerView.Renderer.leftToRight
重命名为Renderer.leftToRight
SwiftTickerView.Renderer.topToBottom
重命名为Renderer.topToBottom
SwiftTickerView.Renderer.bottomToTop
重命名为Renderer.bottomToTop
1.3.0
- 现在您可以实现自己的渲染器
重命名
- 将
direction
重命名为renderer
Direction.horizontalRightToLeft
重命名为SwiftTickerView.Renderer.rightToLeft
Direction.horizontalLeftToRight
重命名为SwiftTickerView.Renderer.leftToRight
Direction.verticalTopToBottom
重命名为SwiftTickerView.Renderer.topToBottom
Direction.verticalBottomToTop
重命名为SwiftTickerView.Renderer.bottomToTop
1.2.2
- 现在支持 TV OS
- 性能改进
示例
要运行示例项目,请首先克隆仓库,然后从示例目录中运行 pod install
。
要求
SwiftTickerView 通过 CocoaPods 提供。要安装它,请将以下行添加到您的 Podfile:
pod 'SwiftTickerView'
设置
您可以选择在 Storyboard 或 Xib 视图中嵌入 SwiftTickerView,或者像任何其他视图一样实例化视图。
let tickerView = SwiftTickerView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 30))
使用 separator 属性创建简单的文本分隔符,或设置分隔符视图类或 nib 创建分隔符视图。还可以实现 viewProvider 协议,按需操作分隔符视图和节点视图。
tickerView.separator = "+++"
tickerView.viewProvider = self
...
注册一些自定义节点视图,以便更容易地加载它们。
tickerView.registerNodeView(UILabel.self, for: labelIdentifier)
如果要在用户停止滚动视图(是的,用户可以通过点击滚动视图来停止视图)时获得回调,请实现 tickerDelegate 并不要忘记将其分配给滚动视图。您还将能够确定用户已选择的内容。
tickerView.tickerDelegate = self
此滚动视图旨在支持阿拉伯语、希伯来语以及其他语言。只需使用 direction 属性,即可确定是否希望内容从左到右、从右到左、从上到下或从下到上运行。
tickerView.renderer = SwiftTickerView.Renderer.rightToLeft
您可以管理内容在显示器上的运行速度。您可以在运行时修改此值,以增加或减慢滚动视图的速度。
tickerView.pixelPerSecond = 60 //default is 60
别忘了启动tickerview,否则它将无法工作
tickerView.start()
最后但同样重要的是,实现contentProvider属性来提供你的内容!
顺便说一句,在viewProvider协议中,视图节点视图创建函数必须返回一个包含视图参数和可选的reuseIdentifier参数的元组。请使用此参数进行存储,以便于以后重用。
func tickerView(_ tickerView: SwiftTickerView, viewFor: Any) -> (UIView, reuseIdentifier: String?) {
if let text = viewFor as? String,
let label = tickerView.dequeReusableNodeView(for: labelIdentifier) as? UILabel {
label.text = text
label.sizeToFit()
label.textColor = .white
return (label, reuseIdentifier: labelIdentifier)
}
return (UIView(), reuseIdentifier: nil)
}
func tickerView(_ tickerView: SwiftTickerView, prepareSeparator separator: UIView) {
if let separator = separator as? UILabel {
separator.textColor = .white
}
}
作者
马丁·伊伯尔,[email protected]
许可证
SwiftTickerView可在MIT许可证下使用。查看LICENSE文件以获取更多信息。