2010-07-23 20 views
9

ResignFirstResponder per un UITextField su Iphone semms per non funzionare per l'Ipad. Come posso chiudere la mia tastiera programmaticamente?Ignora tastiera su IPAD

Grazie,

+0

Qualsiasi codice? _____ – kennytm

risposta

7

UPDATE Questa risposta non è più accurata. Vedi lo correct answer.

Se UITextField si trova in una vista del foglio di pagina modale (UIModalPresentationFormSheet), non esiste (al momento) alcun modo per forzare il dispositivo a rifiutare la tastiera this devforums post da un ingegnere Apple.

14

Now we can

- (BOOL)disablesAutomaticKeyboardDismissal { 
    return NO; 
} 
+1

Sembra che questa abbia smesso di essere una soluzione efficace in iOS 6 - qualcun altro che vede lo stesso? – Snips

+0

non è efficace per me in iOS 6.0.x – OscarTheGrouch

+0

Garantito da ... non è efficace in iOS 6 – theiOSDude

25

In iOS 4.3, Apple ha introdotto il metodo di cui sopra, disablesAutomaticKeyboardDismissal. Restituisce YES per UIModalPresentationFormSheet, impedendo il blocco della tastiera.

Ignora questo metodo funziona, ma se si presenta il controller di visualizzazione in un UINavigationController, è necessario sottoclasse UINavigationController e sovrascrive il metodo lì.

Ho confermato che funziona davvero su iOS 6. Assicurati di prestare attenzione alla clausola UINavigationController.

+0

Buon lavoro, felice :) – ader

+1

Anche verificato per iOS 7.0. –

+0

Domanda stupida: come procedere se il tuo UINavigationController si trova in uno storyboard in XCode 5? Non vedo alcun codice pronto per essere modificato, per usare una copia sovrascritta di questa classe ..? –

Problemi correlati