Domanda

Ho un UITextView e 2 UITextField impostare. UITextView dimette primo stato responder quando una parte vuota della schermata viene sfruttato, lo stesso per il 2 UITextField, più per queste 2, il tasto invio dimette anche primo stato responder. Tutti e 3 sono dichiarati nell'interfaccia.

Mi piacerebbe ottenere il contenuto di tutti questi per NSString individuali e / o imparare a entrare direttamente in qualcosa di simile:

NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?var1=%@&var2=%@&var3=%@", *content of UITextView*, *content of UITextField*, *content of UITextField*];

Questa è una domanda molto semplice, lo so, ma io sono praticamente un novizio. Se imparo come fare questo probabilmente sarò in grado di raccogliere da lì.

applausi

(a cura)

È stato utile?

Soluzione

UITextField e UITextView entrambi hanno una proprietà text che è possibile utilizzare per recuperare i valori di stringa. Ad esempio,

NSString *string = [NSString stringWithFormat:@"%@, %@", textField.text, textView.text];

Tenete a mente probabilmente si vorrà esaminare le corde per assicurarsi che non sono vuote o contengono caratteri non validi prima di metterli in un URL.

Altri suggerimenti

La risposta accettata è buono, volevo solo aggiungere il seguente per uno sguardo esteso a catturare testo in iOS.

Si veda l'aspetto textInRange: del codice qui sotto che ho ideato per utilizzare una funzione per determinare il testo che si tratti di un UITextField, UITextView o di qualsiasi altra classe che è conforme al protocollo UITextInput.

//handle text container object length whether it's a UITextField, UITextView et al
NSUInteger LengthOfStringInTextInput(NSObject<UITextInput> *textContainer)
{
    UITextPosition *beginningOfDocument = [textContainer beginningOfDocument];
    UITextPosition *endOfDocument =       [textContainer endOfDocument];
    UITextRange    *fullTextRange =       [textContainer textRangeFromPosition:beginningOfDocument 
                                                                    toPosition:endOfDocument];
    return [textContainer textInRange:fullTextRange].length;
}

Per cambiare il tipo di ritorno a NSString e la rimozione .length si potrebbe avere la funzionalità della proprietà di testo su qualsiasi classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top