2014-06-23 12 views
6

Sto sviluppando una tastiera personalizzata con estensione tastiera in iOS8.Metodo chiave di restituzione in UIInputViewController in iOS8?

Posso chiudere la tastiera con il seguente metodo.

[self dismissKeyboard]; 

Tuttavia, il metodo sopra riportato è valido solo per la tastiera. Voglio farlo come metodo di ritorno che può come GO o Search che può utilizzare sia Ignora che Go Evento come iOS Built in Keyboard.

Come posso farlo?

+0

hai mai trovare una soluzione per questo? – Alec

+1

@Alec Sì. Puoi usare [self.textDocumentProxy insertText: @ "\ n"] ;. \ n farà automaticamente sopra le funzioni. –

risposta

10

È possibile utilizzare [self.textDocumentProxy insertText: @ "\ n"];

+1

Questo non funziona per me. Basta andare sulla nuova linea! – Bernard

-3

Grande questione

Prima di tutto, reagendo alle "GO" o "SEARCH" ritorno tasti premuti è la vostra responsabilità. Significa che quando l'utente fa clic su "VAI" - nella tua app, devi catturare quell'evento e implementare quello che vuoi lì (probabilmente cercare qualcosa ..). Significa che puoi prendere quell'implementazione e basta spingerla prima di chiudere la tastiera.

EDIT:

Prima questo è come rispondere a tornare clic chiave nella vostra applicazione:

conformi al delegato campo di testo:

@interface MyViewController : UIViewController <UITextFieldDelegate> 

e poi sovrascrivere questo metodo con l'implementazione - cosa vuoi fare quando l'utente fa clic sulla chiave di ritorno? (O andare o di ricerca, ecc ..):

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    // your implementation 
    return YES; 
} 

Questo è come si risponde ai clic sul tasto di ritorno e implementare quello che vuoi quando viene cliccato.

avviso che è possibile modificare i tratti del pulsante per andare a cercare usando

theTextField.returnKeyType = UIReturnKeySearch; 

Si noti che l'implementazione è ciò che conta in tutta affare qui - e si può solo incorporare questa implementazione a destra prima che respinge il tastiera

Grazie e buona fortuna!

+0

Non so come fare come hai detto tu. –

+0

@Sabo - spiegando nella risposta modificata – nurxyz

+0

OP stava parlando di Keyboard Extension, non si dispone di un 'UITextField' tranne nell'app host. @woof answer funziona bene come il delegato textField di altre app chiama 'textFieldShouldReturn' su un' \ n' inserimento (tramite '- (void) insertText: (NSString *) text') – bauerMusic

-1

basta chiamare [sé dismissKeyboard], l'auto è UIinputViewController esempio