WSTagsField
一个代表标签、哈希标签、通用令牌的 iOS 文本字段。
使用
let tagsField = WSTagsField()
tagsField.layoutMargins = UIEdgeInsets(top: 2, left: 6, bottom: 2, right: 6)
tagsField.contentInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
tagsField.spaceBetweenLines = 5.0
tagsField.spaceBetweenTags = 10.0
tagsField.font = .systemFont(ofSize: 12.0)
tagsField.backgroundColor = .white
tagsField.tintColor = .green
tagsField.textColor = .black
tagsField.fieldTextColor = .blue
tagsField.selectedColor = .black
tagsField.selectedTextColor = .red
tagsField.delimiter = ","
tagsField.isDelimiterVisible = true
tagsField.placeholderColor = .green
tagsField.placeholderAlwaysVisible = true
tagsField.keyboardAppearance = .dark
tagsField.returnKeyType = .next
tagsField.acceptTagOption = .space
tagsField.shouldTokenizeAfterResigningFirstResponder = true
// Events
tagsField.onDidAddTag = { field, tag in
print("DidAddTag", tag.text)
}
tagsField.onDidRemoveTag = { field, tag in
print("DidRemoveTag", tag.text)
}
tagsField.onDidChangeText = { _, text in
print("DidChangeText")
}
tagsField.onDidChangeHeightTo = { _, height in
print("HeightTo", height)
}
tagsField.onValidateTag = { tag, tags in
// custom validations, called before tag is added to tags list
return tag.text != "#" && !tags.contains(where: { $0.text.uppercased() == tag.text.uppercased() })
}
print("List of Tags Strings:", tagsField.tags.map({$0.text}))
安装
Carthage
要安装它,只需将该行添加到您的 Cartfile
github "whitesmith/WSTagsField"
然后运行 carthage update
。
有关最新安装说明,请遵循 Carthage 的 README 中的当前说明。
CocoaPods
要安装,只需将以下行添加到您的Podfile
pod "WSTagsField"
然后使用 CocoaPods 1.8.0 或更高版本运行 pod install
。
Swift Package Manager
使用 Xcode 11,只需转到 "文件" > "Swift 包" > "添加包依赖..." 并使用此仓库: https://github.com/whitesmith/WSTagsField
。
手动
下载所有源文件并将它们拖放到您的项目中。
要求
- iOS 9.0+
- Xcode 11 (Swift 5.1)
贡献
最好的贡献方式是通过提交拉取请求。我们将尽快响应对您补丁的处理。如果您发现错误或有疑问,也可以提交 新的 GitHub 问题。
致谢
本项目灵感来源于CLTokenInputView。