2

日付、住所、電話番号、リンクなど、いくつかの異なるデータ型を見つけようとしています。私はすでにそれらを見つけることができますが、下線を引いて色を変更してフォーマットできるようにしたいと考えています。これはこれまでの私のコードです。

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 の同じ場所に戻すにはどうすればよいですか?

2 番目の質問です。私はそのようなスイッチを作成することを考えています

switch match {
                case match == NSTextCheckingType.date

しかし、特定のタイプの NSTextCheckingType を取得したので、それらに必要な機能を持たせるにはどうすればよいでしょうか? (例: 電話番号に電話する、住所の地図を開く、日付のイベントを作成する)

4

1 に答える 1

2

Notes の機能を実行するには、テキスト ビューで dataDetectorTypes プロパティを設定するだけです。それで全部です!NSDataDetector は関与しません。

于 2015-07-31T11:16:26.107 に答える