Используйте уведомления.Зарегистрируйтесь для UIKeyboardWillShowNotification
и UIKeyboardWillHideNotification
.Затем, когда появится клавиатура, добавьте кнопку в иерархию представлений.Аналогичным образом удалите кнопку из иерархии представлений, когда клавиатура находится на выходе.
Зарегистрируйтесь для получения этих уведомлений в -viewDidLoad
и обязательно удалите себя в качестве наблюдателя в -viewDidUnload
;
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserverForName:UIKeyboardWillShowNotification object:nil queue:nil usingBlock:^(NSNotification *notification) {
[self.view insertSubview:self.keyboardDismissalButton atIndex:0];
}];
[[NSNotificationCenter defaultCenter] addObserverForName:UIKeyboardWillHideNotification object:nil queue:nil usingBlock:^(NSNotification *notification) {
[self.keyboardDismissalButton removeFromSuperview];
}];
}