7
4

2 に答える 2

6

ここであなたのコードに概念的な問題があります。ちょっとしたことを見落としているだけかもしれませんが、プログラミングに単純なエラーがあるだけだと思います。

1) テキスト ビューにテキストが含まれていない場合: text: "", selectedRange : {0,0}, markedText: nil:

[_textView setMarkedText:@"月" selectedRange:NSMakeRange(0, 1)];

Result: text: "", selectedRange: {0,0}, markedText: nil. 

(何も変わっていません)

2) テキストビューにテキスト + マークされたテキストが含まれている場合: text: "AAA", selectedRange: {0,3},markedText最後に: "太陽" の場合:

[_textView setMarkedText:@"地" selectedRangeNSMakeRange(0,3)];

Result: text: "AAA", selectedRange: {0,3}, markedText: nil; 

(マークされたテキストは nil になりました)

Xcode で実行したコードで問題を修正しました。問題なく実行され、3 つの異なるボタンをクリックすると、マークされたテキストが変更されました。マークされたテキストがない場合、テキストが追加されてマークされました。

textの名前ですUITextView:

-(IBAction)first
{
    [text setMarkedText:@"test" selectedRange:NSMakeRange(0, 4)];
}
-(IBAction)second
{
    [text setMarkedText:@"woo" selectedRange:NSMakeRange(0,4)];
}

ここでは「最初」をクリックしました 初回クリック時

ここでは「2番目」をクリックしました 秒がクリックされたとき

これがあなたのお役に立ち、賞金に値することを願っています。

于 2011-11-26T06:21:40.057 に答える
0

内容を設定する (およびテキストをマークする) 前に、ビューに UITextField を追加しましたか?

于 2011-11-20T13:47:27.160 に答える