Frage

Ich habe eine UITextView und 2 UITextField eingerichtet. UITextView tritt zurück ersten Responder-Status, wenn sie leer Teil des Bildschirms abgegriffen wird, das gleiche gilt für die 2 UITextField, sowie für diese 2, die Return-Taste tritt auch ersten Responder-Status. Alle drei sind in der Schnittstelle deklariert.

Ich möchte den Inhalt alle diese einzelnen NSString erhalten und / oder lernen, wie man sie in so etwas wie direkt eingeben:

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

Dies ist eine sehr einfache Frage, ich weiß, aber ich bin so ziemlich ein Anfänger. Wenn ich lerne, wie dies zu tun, wahrscheinlich von dort abholen, ich werde können.

cheers

(bearbeitet)

War es hilfreich?

Lösung

UITextField und UITextView haben beide eine text Eigenschaft, dass Sie die Zeichenfolge-Werte abrufen können. Zum Beispiel:

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

Beachten Sie wahrscheinlich die Saiten untersuchen wollen sicherstellen, dass sie nicht leer sind oder ungültige Zeichen enthalten, bevor sie in eine URL setzen.

Andere Tipps

Die akzeptierte Antwort ist gut, ich folgende für einen erweiterten Blick auf Grabbing Text in iOS.

nur hinzufügen wollte

Sehen Sie den textInRange: Aspekt des folgenden Code, den ich entwickeln eine Funktion zu verwenden, um den Text, um zu bestimmen, ob es eine UITextField, UITextView oder jede andere Klasse, die mit dem UITextInput-Protokoll entspricht.

//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;
}

Durch die Rückkehr Typ NSString Ändern und Entfernen von .length Sie die Funktionalität der Texteigenschaft für jede Klasse haben könnten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top