Вы можете сделать это, используя UIKeyboardWillShowNotification
, посмотрите ссылку UIWindow для получения информации об этом:
[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:nil];
Это уведомление возникает, когда текстовое поле даже из a UIWebView
выбран.
Посмотрите на Apple KeyboardAccessory Пример кода, который показывает, как это сделать.Этот пример кода использует свойство UITextXxxx inputAccessoryView
, которое, я сомневаюсь, вы сможете использовать.Но уведомление даст вам достаточно информации, чтобы добавить ваш аксессуар прямо в вашем представлении или даже в верхнем окне UIWindow, и даже при анимации с помощью клавиатуры:
(gdb) po notification
NSConcreteNotification 0xb5a2190 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = "0.300000011920929";
UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 260}}";
UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 610}";
UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 350}";
UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 480}, {320, 260}}";
UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 220}, {320, 260}}";
}}