В iOS 6 я использую для представления клавиатуры в viewDidLoad
.
- (void)viewDidLoad
{
[super viewDidLoad];
[txtField becomeFirstResponder];
}
Таким образом, когда navigationController нажимает новый viewController, клавиатура уже существует, плавно анимируя слева направо и избегая восходящей анимации.
В iOS 7 это поведение кажется сломанным.
Если я добавлю [txtField becomeFirstResponder]
в viewDidLoad
, клавиатура появится в середине нажатия анимации, уже в ее конечной позиции: неприятный эффект!
Я попытался переместить [txtField becomeFirstResponder]
в viewWillAppear
, но окончательный результат не изменился.
Знаете ли вы способ вернуть поведение iOS 6, нажав новый контроллер viewController и клавиатуру вместе?
EDIT: использование таймера не работает ни... независимо от того, какая временная задержка задана, клавиатура отображается только в конце нажатия анимации.
До сих пор я лучше всего поставил [txtField becomeFirstResponder]
в viewWillLayoutSubviews
или viewDidLayoutSubviews
. К сожалению, это работает при нажатии viewController, но не при возврате (клавиатура не появляется).