0

UITextview にいくつかのテキストを表示するためのこのコードがあります。これらの文字列の間に UILabel を追加したいだけです。数字とテキストの間にUILabelを追加または追加したい.テキストを表示するための私のコードは

 NSMutableString *combined = [NSMutableString string];

    for(NSUInteger idx = 0; idx < [delegatee.allSelectedVerseEnglish count]; idx++) {
        [combined appendFormat:@"   %d %@", 
         idx + 1, 
         [delegatee.allSelectedVerseEnglish objectAtIndex:idx]];

    }
    NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; 
    NSNumber * n = [f numberFromString:combined]; 
    NSLog(@"N: %@", n);
       maintextview.text =combined;

結合は上記の形式のテキストであり、maintextview は UITextview です。

2つの文の間の文字列範囲も取得しています

- (void)textViewDidEndEditing:(UITextView *)textView
{
    if (textView == maintextview) {

    mainpopupview.frame =CGRectMake(0, 0, 768, 1004)    ;
    [self.view addSubview:mainpopupview];

    NSRange selectedRange = [textView selectedRange];
    NSString *backString = [maintextview.text substringToIndex:selectedRange.location];
    NSRange backRange = [backString rangeOfString:@"   " options:NSBackwardsSearch];
    NSRange backRangee = [backString rangeOfString:@"   " options:NSBackwardsSearch];
    int  myRangeLenght = backRangee.location - backRange.location;
    NSRange myStringRange = NSMakeRange (backRange.location, myRangeLenght);
    NSString *forwardString  = [maintextview.text substringFromIndex:backRange.location];
    NSLog(@"%@",[[forwardString componentsSeparatedByString:@"   "] objectAtIndex:1]);
    NSLog (@"%@",  [maintextview.text substringWithRange:myStringRange]);

    NSString * myStringTxt = [[forwardString componentsSeparatedByString:@"   "] objectAtIndex:1];
    NSLog(@"1 %@", myStringTxt);

    //  maintextview.textColor = [UIColor yellowColor];

    NSRange myStringRangee = [maintextview.text rangeOfString:myStringTxt];
    [maintextview select:self];
    maintextview.selectedRange = myStringRangee;

これを行う方法はありますか。前もって感謝します。

4

1 に答える 1

0

ここで必要なユーザー インタラクションはわかりませんが、ユーザーにテキストを表示するだけの場合は、(html マークアップを使用してテキストの色を設定するために を介して静的テキストを読み込む) に置き換えていただけUITextViewますかUIWebView? loadHTMLString:baseURL:UITextView のドキュメントを参照します。

このクラスは、テキストの複数のスタイルをサポートしていません。指定したフォント、色、およびテキスト配置の属性は、常にテキスト ビューのコンテンツ全体に適用されます。アプリケーションでより複雑なスタイルを表示するには、UIWebView オブジェクトを使用し、HTML を使用してコンテンツをレンダリングする必要があります。

個別の UI コントロール (UIWebView を使用するよりもはるかに複雑) でこれを行う必要がある場合は、テキストに UILabel を「挿入」せず、その時点までのテキストに対して 1 つのコントロールを使用することをお勧めします。色の変更、別の色のテキストの別のコントロール、または残りのテキストの別のコントロール。それは非常にすぐに毛むくじゃらになります (グリッドのようにレイアウトされていない限り、そしてそれでも UIWebView と比較して面倒です)。

于 2012-06-01T17:40:20.450 に答える