【问题标题】:Using NSDataDetector to just like Apple's Notes app使用 NSDataDetector 就像 Apple 的 Notes 应用一样
【发布时间】:2015-10-22 15:57:27
【问题描述】:

我正在尝试查找几种不同的数据类型,包括日期、地址、电话号码和链接。我已经能够找到它们,但我希望能够通过下划线和更改它们的颜色来格式化它们。这是我目前的代码。

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,我必须做些什么才能使它们具有我想要的功能? (例如,拨打电话号码、打开地图查找地址、创建日期活动)

【问题讨论】:

    标签: ios swift nsdatadetector


    【解决方案1】:

    要执行 Notes 的操作,您只需在文本视图上设置 dataDetectorTypes 属性即可。就这样!不涉及 NSDataDetector。

    【讨论】:

    • 哦,我的......我猜 NSDataDetector 是为了更专注的搜索/定制。谢谢,很容易解决:)
    猜你喜欢
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多