2015-08-30 2 views
6

Новое в iOS 9 на iPad, есть панель инструментов (известная как панель быстрого доступа), расположенная над клавиатурой, которая предлагает кнопки отмены, повтора и вставки. Он появляется при использовании системной клавиатуры или сторонних клавиатур, но не появляется над клавиатурой emoji. Я не хочу, чтобы эта панель инструментов была видна, когда мой пользовательский расширение клавиатуры используется, так как моя клавиатура похожа на клавиатуру emoji. (Обратите внимание, что я говорю о пользовательском расширении клавиатуры, которое можно использовать в любом приложении, а не в клавиатуре, когда текстовое поле становится первым ответчиком в вашем собственном приложении.) Так как его можно удалить?Скрыть панель инструментов над пользовательским расширением клавиатуры в iOS 9

ответ

7

Вы можете удалить его с помощью этого

- (void)textFieldDidBeginEditing:(UITextField*)textField 
{ 
    if(SYSTEM_VERSION_GREATER_THAN(@"8.4")){ 
     UITextInputAssistantItem* item = [textField inputAssistantItem]; 
     item.leadingBarButtonGroups = @[]; 
     item.trailingBarButtonGroups = @[]; 
    } 
} 

и, конечно, нужно определить SYSTEM_VERSION_GREATER_THAN макроса в заголовке, чтобы проверить версию, поскольку этот код приведет к сбою приложения на прошивке 8

#define SYSTEM_VERSION_GREATER_THAN(v)    ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) 

получайте удовольствие :)

+0

Это для того, чтобы спрятать его в вашем собственном приложении (и вам также необходимо отключить автокоррект, чтобы его скрыть). Мой вопрос заключается в том, как скрыть его над вашей пользовательской клавиатурой, которая может использоваться во всей системе. – Joey

+1

Спасибо за этот ответ, хотя! У меня проблема в моем собственном приложении, и я не мог понять, как отключить их, пока не найду ответ – BarrettJ

+0

Это произойдет сбой 8.4.1. Вместо этого используйте 'if ([textField отвечаетSoSelector: @selector (inputAssistantItem)]) {' –

Смежные вопросы