[英]Using NSDataDetector to just like Apple's Notes app
我试图找到几种不同的数据类型,包括日期、地址、电话号码和链接。 我已经能够找到它们,但我希望能够通过下划线和更改它们的颜色来格式化它们。 到目前为止,这是我的代码。
func detectData() {
let text = self.textView.text
let types: NSTextCheckingType = .Date | .Address | .PhoneNumber | .Link
var error: NSError?
let detector = NSDataDetector(types: types.rawValue, error: &error)
var dataMatches: NSArray = [detector!.matchesInString(text, options: nil, range: NSMakeRange(0, (text as NSString).length))]
for match in dataMatches {
我在想我应该首先将每个结果从循环中取出,然后 1) 将它们转换为字符串 2) 格式化它们。
第一个问题。 如何将格式化的字符串放回 UITextView 的同一个位置?
第二个问题。 我正在考虑创建一个像这样的开关
switch match {
case match == NSTextCheckingType.date
但是现在我有了特定类型的 NSTextCheckingType,我该怎么做才能使它们具有我想要的功能? (例如,拨打电话号码、打开地址地图、创建约会活动)
要执行 Notes 的操作,您只需要在文本视图上设置 dataDetectorTypes 属性。 就这样! 不涉及 NSDataDetector。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.