1

がありUISearchBar、その中に を取得しUITextfieldてから、選択したテキスト範囲を設定したいのですが、常に nil を返します。これは私のコードです:

UITextField *searchField = [self.searchBar valueForKey:@"_searchField"];
[searchField becomeFirstResponder]; // focus to this searchfield

そして、私はテキストを記入します:

self.searchBar.text = @"This is text";

そして、UITextFieldテキストが入力されているかどうかを確認しました。それでも、関連するすべてのメソッドはnilUITextPositionを返します。UITextRange

UITextRange *selectedRange = [searchField selectedTextRange]; //selectedRange = nil
UITextPosition *newPosition = [searchField positionFromPosition:selectedRange.start offset:addressToComplete.street.length]; //newPosition = nil
UITextRange *newRange = [searchField textRangeFromPosition:newPosition toPosition:newPosition]; //newRange = nil

私のコードは何か間違っていますか?

4

1 に答える 1