模式視圖控制器在我的iPad應用程序,我要提供一些視圖控制器在UIModalPresentationFormSheet模式模式無鍵盤。的iPad - 關閉鍵盤在UIModalPresentationFormSheet模式
我用它來顯示幫助爲例。
在我用計算器答案的一個找到的代碼以關閉的那一刻:
// 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);
}
}
但恐怕蘋果可以,因爲它使用私有API在審批過程中拒絕它在
我可以看到Apple開發人員在GarageBand幫助屏幕中實現了這一目標,因此它必須是「正確」的方法。
希望能有所幫助,因爲我們的客戶不希望改變設計理念,因爲這種輕微的限制。
UPDATE: 就在今天,我從AppStore的拒絕:
我們發現您的應用使用一個或 多個非公開的API,這是不 符合App Store的審查 指南。使用非公開API 是不允許的,因爲如果這些API改變,它可能導致 糟糕的用戶體驗。
我們發現您應用中的以下非公開的API :
activeInstance dismissKeyboard
所以請不遵循這個建議: How to HIDE the iPad keyboard from a MODAL view controller?
這會很容易欺騙蘋果。我相信他們能夠掃描從NSString構建的選擇器。他們不會輕易繞過私人限制。 – Lukasz 2011-05-21 06:26:53