Вопрос

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

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

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

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

ваше здоровье

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

Это было полезно?

Решение

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

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

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

Другие советы

Принятый ответ хорош, я просто хотел добавить следующее, чтобы более подробно рассмотреть захват текста в 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 в любом классе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top