Содержимое UITextField и UITextView для NSString - PullRequest
2 голосов
/ 27 мая 2009

У меня есть UITextView и 2 UITextField. UITextView оставляет статус первого респондента при нажатии на пустую часть экрана, то же самое для 2 UITextField, плюс для этих 2 клавиша возврата также оставляет статус первого респондента. Все 3 объявлены в интерфейсе.

Я бы хотел получить содержимое всего этого для отдельной строки NSString и / или узнать, как ввести их непосредственно в нечто вроде:

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

Это очень простой вопрос, я знаю, но я новичок. Если я узнаю, как это сделать, я, вероятно, смогу забрать оттуда.

ура

(отредактированный)

Ответы [ 2 ]

7 голосов
/ 27 мая 2009

UITextField и UITextView имеют свойство text, которое можно использовать для получения строковых значений. Например,

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

Имейте в виду, что вы, вероятно, захотите проверить строки, чтобы убедиться, что они не пусты или содержат недопустимые символы, прежде чем помещать их в URL.

2 голосов
/ 02 января 2012

Принятый ответ хорош, я просто хотел добавить следующее для расширенного взгляда на захват текста в iOS.

См. Аспект textInRange: приведенного ниже кода, который я разработал для использования одной функции для определения текста, будь то UITextField, UITextView или любой другой класс, соответствующий протоколу 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;
}

Изменив тип возвращаемого значения на NSString и удалив .length, можно получить функциональность свойства text для любого класса.

...