textViewDidBeginEditing не стреляет из-за увеличения - PullRequest
0 голосов
/ 18 июня 2009

У меня есть подкласс UIViewController, который действует как делегат для UITextView. Я реализовал textViewDidBeginEditing для отображения кнопки «Готово» для закрытия текстового представления ... все хорошо ... за исключением того, что когда текстовое представление имеет текст и не находится в режиме редактирования, если пользователь держит палец в текстовом представлении, вызывая при увеличении текста увеличительным стеклом появляется клавиатура, но textViewDidBeginEditing не запускается.

Я пытался обойти это, реализовав методы делегата UIScrollView viewForZoomingInScrollView и scrollViewDidEndZooming, но я не могу заставить их срабатывать вообще.

Я пытался поиграть со свойствами минимального масштабирования и максимального увеличения масштаба изображения, чтобы отключить масштабирование ... безрезультатно.

На данный момент я понятия не имею, что делать дальше, или моя ошибка, связанная с перехватом методов делегата UIScrollView, связана с моей основной проблемой. Я не уверен, какой код я мог бы опубликовать, что будет иметь значение ... Метод textViewDidBeginEditing очень минимален и работает нормально в нормальных условиях. Назначение делегата UITextView выполняется с помощью соединения в Интерфейсном Разработчике с контроллером (Владелец файла).

1 Ответ

1 голос
/ 18 июня 2009

Обходным путем может быть регистрация уведомлений клавиатуры. Как только вы это сделаете, будете точно знать, когда отображается клавиатура.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationShow:) name:UIKeyboardWillShowNotification object:nil];  

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationHide:) name:UIKeyboardWillHideNotification object:nil];  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...