Как получить доступ к ToolBar или InputAccessoryView, который появляется поверх клавиатуры, без использования экземпляра ⇐ IOS
Как получить доступ к ToolBar или InputAccessoryView, который появляется поверх клавиатуры, без использования экземпляра
Каждый раз, когда в проекте появляется клавиатура, я могу ее обнаружить, добавив наблюдателя в UIKeyboardWillShowNotification.
Но я хочу получить доступ к панели инструментов, которая появляется поверх клавиатуры глобально, не из каждого контроллера представления
Справочная информация:
Я использую IQKeyboardManager и с его помощью настраиваю кнопки в верхней части клавиатуры.
IQKeyboardManager не делает панель инструментов доступной для внешнего доступа.
Поэтому мне интересно, есть ли какой-нибудь способ получить доступ к клавиатуре, когда бы она ни появилась, и перебирать элементы панели инструментов, расположенной поверх клавиатуры.
Любые советы приветствуются
Обновление:
Проблема связана с исходным кодом в POD.
IQUIView+IQKeyboardToolbar.m
{ //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; //Кнопка заголовка toolbar.titleBarButton.title = titleText; если (@available(iOS 11.0, *)) {} еще { toolbar.titleBarButton.customView.frame = CGRectZero; } [items addObject:toolbar.titleBarButton]; //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; }
Из-за приведенного выше кода в их модуле
несмотря на то, что на панели инструментов нет текста заголовка, он все равно добавляется как элемент на панель инструментов, поэтому, когда мы включаем специальные возможности, пустая кнопка заголовка читается как затемненная кнопка.
У меня есть решение
if(titleText){ //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; //Кнопка заголовка toolbar.titleBarButton.title = titleText; если (@available(iOS 11.0, *)) {} еще { toolbar.titleBarButton.customView.frame = CGRectZero; } [items addObject:toolbar.titleBarButton]; //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; }еще{ [items addObject:[[собственный класс] elasticBarButtonItem]]; [items addObject:[[собственный класс] elasticBarButtonItem]]; [items addObject:[[собственный класс] elasticBarButtonItem]]; } Но мы не можем починить их модуль со своей стороны.
Поэтому мне интересно, смогу ли я получить доступ к панели инструментов над клавиатурой, тогда я смогу эффективно удалить пустой элемент и снова добавить элементы обратно на панель инструментов, и это решит мою проблему.
Каждый раз, когда в проекте появляется клавиатура, я могу ее обнаружить, добавив наблюдателя в UIKeyboardWillShowNotification.
Но я хочу получить доступ к панели инструментов, которая появляется поверх клавиатуры глобально, не из каждого контроллера представления
Справочная информация:
Я использую IQKeyboardManager и с его помощью настраиваю кнопки в верхней части клавиатуры.
IQKeyboardManager не делает панель инструментов доступной для внешнего доступа.
Поэтому мне интересно, есть ли какой-нибудь способ получить доступ к клавиатуре, когда бы она ни появилась, и перебирать элементы панели инструментов, расположенной поверх клавиатуры.
Любые советы приветствуются
Обновление:
Проблема связана с исходным кодом в POD.
IQUIView+IQKeyboardToolbar.m
{ //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; //Кнопка заголовка toolbar.titleBarButton.title = titleText; если (@available(iOS 11.0, *)) {} еще { toolbar.titleBarButton.customView.frame = CGRectZero; } [items addObject:toolbar.titleBarButton]; //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; }
Из-за приведенного выше кода в их модуле
несмотря на то, что на панели инструментов нет текста заголовка, он все равно добавляется как элемент на панель инструментов, поэтому, когда мы включаем специальные возможности, пустая кнопка заголовка читается как затемненная кнопка.
У меня есть решение
if(titleText){ //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; //Кнопка заголовка toolbar.titleBarButton.title = titleText; если (@available(iOS 11.0, *)) {} еще { toolbar.titleBarButton.customView.frame = CGRectZero; } [items addObject:toolbar.titleBarButton]; //Гибкое пространство [items addObject:[[собственный класс] elasticBarButtonItem]]; }еще{ [items addObject:[[собственный класс] elasticBarButtonItem]]; [items addObject:[[собственный класс] elasticBarButtonItem]]; [items addObject:[[собственный класс] elasticBarButtonItem]]; } Но мы не можем починить их модуль со своей стороны.
Поэтому мне интересно, смогу ли я получить доступ к панели инструментов над клавиатурой, тогда я смогу эффективно удалить пустой элемент и снова добавить элементы обратно на панель инструментов, и это решит мою проблему.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение