Принудительная раскладка клавиатуры через кнопку (iOS) - PullRequest
5 голосов
/ 01 мая 2010

У меня есть UITextView, и я не хочу проверять возможность редактирования, как можно вызывать клавиатуру с помощью кнопки? Этот код не работает для меня!

-(IBAction) yourButtonClick
{
    [myTextView becomeFirstResponder];
    [self.view addSubview:myTextView]; 
}

1 Ответ

23 голосов
/ 01 мая 2010

Из Руководства по программированию приложений iPhone

Однако вы можете программно отобразить клавиатуру для редактирования текстовое представление, вызывая это представление МетодcomeFirstResponder. призвание этот метод делает целевой вид первый ответчик и начинает редактирование обрабатывать так же, как если бы пользователь нажал на виду.

Чтобы показать клавиатуру программно,

[textView becomeFirstResponder];

Однако клавиатура никогда не будет отображаться, если textView недоступен для редактирования.

Цель показа клавиатуры - разрешить редактирование. Я предполагаю, что вы просто не хотите, чтобы клавиатура появлялась, когда пользователь нажимает на текстовое представление. В этом случае вы можете включить редактируемые программно при нажатии кнопки.

-(IBAction) yourButtonClick
{
     myText.editable = YES;
     [myText becomeFirstResponder];

}

Затем в UITextViewDelegate отключите редактируемый, когда пользователь заканчивает редактирование.

- (void)textViewDidEndEditing:(UITextView *)textView {
  textView.editable = NO;
}
...