0

私はこのコードを使用し- (void)textViewDidEndEditing:(UITextView *)textViewて、テキストをテキストビューの数字から分離しています。私のコードは

//removing string in text

NSString *originalString = myStringTxt;
NSMutableString *strippedString = [NSMutableString 
                                   stringWithCapacity:originalString.length];

NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSCharacterSet *numbers = [NSCharacterSet 
                           characterSetWithCharactersInString:@"0123456789"];

while ([scanner isAtEnd] == NO) {
    NSString *buffer;
    if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) {
        [strippedString appendString:buffer];

    } else {
        [scanner setScanLocation:([scanner scanLocation] + 1)];
    }
}

NSLog(@"%@", strippedString); // "123123123"

stippeStringには、テキストのグループからの数値チャーターが含まれています。これらの数字のフォントの色を変更したいだけです。UITextViewでは複数の色を使用できないことはわかっていますが、ハッキング方法や、色を変更できるものはありますか。上記の文字列?。これを行うのを手伝ってください。よろしくお願いします。

4

3 に答える 3

0

オブジェクトに複数の色を含めることはできません。UITextView1色のみ可能です。

しかし、使用できる潜在的な代替手段があります。私が知っているのは JTextView で、そのソース コードはこちらから入手できます。ここで StackOverflow または Google 経由で検索できる他の代替手段がおそらくあるでしょう。重要なことは、" " オブジェクトを処理する必要があることNSAttributedStringです (これは、文字列内の範囲にフォント スタイルを割り当てる方法です)。

これは、Apple が今後の iOS バージョン (iOS 6 など) で修正する予定の、頻繁に要求されるものの 1 つであると思いますが、発表されるまではわかりません。

于 2012-05-25T09:02:27.480 に答える
0

UITextview をサブクラス化し、layerClassメソッドを returnに変更できますCATextLayer。の文字列プロパティに NSAttributedString を使用できるようになりましたCustomTextView.Layer

  • customTextView.layer を CATextLayer としてキャスト
  • NSAttributedString に複数の色を含めることができます
于 2012-05-25T09:03:58.917 に答える
0

コア テキストは、テキストの色付けに役立つ場合があります。また、uiwebview を使用することもできます。

このリンクの例

于 2012-05-25T09:06:44.333 に答える