Я использую следующие NSNotifications в UIView, так что представление может быть уведомлено, когда появляется UIKeyboard и настраивает его положение (кадр) на экране:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
Два вышеупомянутых уведомления подписываются в рамках метода -init
UIView. Где лучше всего отказаться от подписки на эти уведомления после того, как представление исчезло за пределами экрана? В настоящий момент приложение сбой, всякий раз, когда UIKeyboard появляется в другом представлении, по-видимому, потому что уведомление все еще отправляется в выпущенный UIView.
Кроме того, есть ли лучшее место для подписки на уведомления, помимо метода -init
?
Спасибо за любую помощь.