Подтвердить что ты не робот

Как программно настроить фокус UITextView?

Итак, я хочу создать контроллер модального представления, в котором есть UITextView, и я хочу, чтобы клавиатура автоматически всплывала, а UITextView имеет фокус.

Я нашел способ сделать это, выполнив следующие действия:

textView.editable = YES;
textView.editable = NO;

Это просто кажется мне взломанным, есть ли другой способ?

4b9b3361

Ответ 1

Так как UITextView наследует от UIResponder (косвенно, он наследует от UIScrollView, который наследует от UIView, который затем наследует от UIResponder), вы можете вызвать метод -becomeFirstResponder в своем текстовом поле, который заставит его стать первым ответчиком и начнет редактирование:

[textView becomeFirstResponder];

Ответ 2

Swift:

textView.becomeFirstResponder()

Ответ 3

Это выглядит несколько хакерским.

Терминология Cocoa Touch для "с фокусом" - это "первый ответчик", а UITextView будет отображать свои клавиатуры, когда они будут первым ответчиком. Я могу придумать несколько методов, чтобы UITextView стал первым ответчиком, но самым легким, вероятно, является ваш метод управления viewWillAppear или viewDidAppear:

- (void)viewWillAppear:(BOOL)animated
{

    [myTextView becomeFirstResponder];

    [super viewWillAppear:animated];
}

Ответ 4

[textView becomeFirstResponder];

Ответ 5

Если вы хотите, чтобы фокус был таким конкретным TextView при загрузке ViewController, вы можете поместить textView.becomeFirstResponder() в функцию OverDend ViewDidLoad, как показано ниже:

 override func viewDidLoad() {
    super.viewDidLoad()

textView.becomeFirstResponder()

}

Я считаю, что это работает без ошибок