В моем приложении для iPad я хочу представить некоторые контроллеры представления в UIModalPresentationFormSheet модальный режим без клавиатуры .
Я использую его для отображения справки в качестве примера.
В данный момент я использую код, найденный на одном из ответов stackoverflow, чтобы отклонить его:
// trick to dismiss keyboard in iPad:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
// iPad specific behaviour:
@try
{
Class UIKeyboardImpl = NSClassFromString(@"UIKeyboardImpl");
id activeInstance = [UIKeyboardImpl performSelector:@selector(activeInstance)];
[activeInstance performSelector:@selector(dismissKeyboard)];
}
@catch (NSException *exception)
{
//NSLog(@"%@", exception);
}
}
Но я боюсь, что Apple может отклонить его во время процесса утверждения, поскольку он использует частный API
Я вижу Разработчики Apple достигли того, что на экранах справки GarageBand , поэтому это должен быть "правильный" способ сделать это.
Буду признателен за помощь, поскольку наш клиент не хочет менять концепцию дизайна из-за такого небольшого ограничения.
UPDATE:
Только сегодня я был отклонен из AppStore:
Мы обнаружили, что ваше приложение использует один или
больше непубличных API, которых нет в
соответствие обзору App Store
Методические рекомендации. Использование закрытых API
не допустимо, потому что это может привести
для плохого пользовательского опыта, если они
API меняются.
Мы нашли следующие непубличные API
в вашем приложении:
activeInstance dismissKeyboard
Поэтому, пожалуйста НЕ следуйте этому совету :
Как скрыть клавиатуру iPad от контроллера MODAL View?