0

私はすべての方法を試しましたが、論理的なスキルが低いために役に立ちませんでした...問題は、文中の単語をuitextfieldに置き換える必要があるため、空白のように見え、動的すぎることです

例:テストが現場に到着

ユーザーがuitextfieldと入力できるように、上記の文の「Test」をUItextfieldに置き換える必要があります。交換方法を教えてください。

私は質問を表示するためにuitextviewを使用しました、そしてコードは

UITextview   *textview = [[UITextView alloc] initWithFrame:CGRectMake(0.0, currentY, 320.0, myStringSize.height)];
textview.text = [NSString stringWithFormat:@"%i. %@", i+1, unhide];
textview.font = [UIFont fontWithName:@"Helvetica" size:16.0f];
CGRect frame = textview.frame;
frame.size.height = textview.contentSize.height;
textview.frame = CGRectMake(0.0, currentY, 320.0, frame.size.height+20);
textview.editable = NO;
[scrollMain addSubview:textview];

それを行う方法はありますか...

またはテキストビューで「テスト」の座標を見つける方法はありますか?よろしくお願いします。

4

3 に答える 3

3

これにより、「Test」という単語が選択した文字列に置き換えられます。

textview.text = [textview.text stringByReplacingOccurrencesOfString:@"test" withString:@"SomeStringToReplaceWithTest"];
于 2013-01-28T11:14:11.773 に答える
0

次の手順を実行します。

NSRange wordRange = NSMakeRange(0,10);
NSArray *firstWords = [[str componentsSeparatedByString:@" "] subarrayWithRange:wordRange];

配列要素内のすべての単語を、上記の方法のいずれかで必要な世界に置き換えます。更新しました:

    NSString *test=@"Test arrives on the scene";
NSRange wordRange = NSMakeRange(0,10);
NSMutableArray *firstWords = (NSMutableArray *)[[test componentsSeparatedByString:@" "] subarrayWithRange:wordRange];
[firstWords replaceObjectAtIndex:indexOfstringyouWant withObject:yourTextField.text];

次に、再び配列から文字列を作成します。

于 2013-01-28T11:18:35.643 に答える
0

編集:

プログラムでtextViewで「テスト」を選択し、その範囲を見つけます

選択したテキスト範囲を検索:

UITextRange *selectionRange=[textView selectedTextRange];
CGRect selectionStartRect=[textView caretRectForPosition:selectionRange.start];
CGRect selectionEndRect=[textView caretRectForPosition:selectionRange.end];
CGPoint selectionCenterPoint=(CGPoint){(selectionStartRect.origin.x + selectionEndRect.origin.x)/2,(selectionStartRect.origin.y + selectionStartRect.size.height / 2)};

上記で初期化textField.frameします。

テキスト フィールドは、Test が記述されている場所に表示されます。

于 2013-01-28T11:14:30.697 に答える