iOS Twitter Text Counter
此自定义 UI 控件类似于 Twitter 的新基于字符数进度条的网页 UI,表示剩余字数。它还可以突出显示商店 TextView 中的任何额外字符。
屏幕截图
这里有一个动画屏幕截图,以展示其工作原理。
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
。
需求
您应该安装 twitter-text,并使用它来解析您的字符串,然后将您的 weightedLength 传递到控件。
安装
Cocoapods: VSTwitterTextCounter 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中即可:
pod 'VSTwitterTextCounter'
手动方式:
-
在 Xcode 项目中,从 VSTwitterTextCounter 文件夹取出 VSTwitterCounter.swift 并将其拖入您的项目中。
-
开始使用这个新的 UIControl 子类吧!
支持的 Swift 版本:
库版本 | 支持的 Swift 版本 |
---|---|
0.1.3 及以上 | Swift 5 |
0.1.2 | Swift 3 |
SDK 支持
支持 iOS 8.0 到 iOS 12.2 的实时渲染,需要在 Xcode 6.x 中进行。
使用方法
创建您的筛选器
通过代码
在一个地方,比如在 viewDidLoad 中,分配并初始化 filter UIControl:
let twitterTextCounter = VSTwitterTextCounter()
这会使用默认大小和最大字符计数 280 初始化我们的 Twitter 文本计数器。
注意,控制的大小是预定义的,不应更改。请使用 CONTROL_SIZE 静态属性进行参考。
添加到 UIView 中
view.addSubview(twitterTextCounter)
然后,在文本更新后,很可能是在以下操作中:
func textViewDidChange(_ textView: UITextView)
您需要使用 Twitter 的 TwitterTextParser SDK 解析文本,它将类似于以下内容:
let weightedLength = TwitterTextParser.defaultParser().parseTweet(textView.text).weightedLength
您需要通过调用以下内容来更新文本长度:
twitterTextCounter.update(with: textView, textWeightedLength: weightedLength)
注意:textView 将被用于更新溢出文本的突出显示状态,因此是需要用到的。
通过 Interface Builder 构建
在一个 xib 中添加一个新的 UIView,并更新其类为 VSTwitterTextCounter。享受吧;)
配置
计数器
属性 | 效果 | 默认值 |
---|---|---|
最大计数 | 设置weightedLength的最大值 | DEFAULT_MAX_COUNT / 280 |
加权长度 | 当前文本权重 | 0 |
作者
Shady Elyaski, [email protected]
许可证
此代码由 Dynamic Signal 在 MIT 许可下发布