Я получил TextView
, который должен отображаться при нажатии кнопки, и позволить пользователю вводить текст с клавиатуры.
- (IBAction) changeName {
changeNameBtn.hidden = YES;
backBtn.hidden = YES;
usernameLabel.hidden = NO;
inputTextField.hidden = NO;
[inputTextField becomeFirstResponder]; // to show keyboard
}
Это прекрасно работает для большинства из нас.
Но клавиатура не отображается для некоторых моих тестеров в географически удаленном месте. Как с этим справиться? И что может быть причиной различного поведения наших устройств? Это прекрасно работает для меня и всех остальных. Мы все используем одни и те же устройства (iPod, iOS 4.1 - 5.1).
Первое, что я попробовал не сработало:
Я догадался, что inputTextField каким-то образом не стал видимым во времени, до того, как becomeFirstResponder
был запущен, поэтому я добавил setNeedsDisplay
, так как думал, что это вызовет обновление.
[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];
Вторая вещь, которую я попробовал, не работала:
if([inputTextField canBecomeFirstResponder]){
[inputTextField becomeFirstResponder];
}
Третье Я попробовал обходной путь, требующий, чтобы незадачливый пользователь нажал на поле:
- (IBAction) inputTextFieldTouch {
[inputTextField becomeFirstResponder];
}
Этот обходной путь работает, но должен быть лучший способ. Пожалуйста, расскажите мне, что я делаю неправильно! :) А как подходить к таким вопросам, не имея возможности копировать их самому?