Содержимое UITextField и UITextView в NSString
-
06-09-2019 - |
Вопрос
У меня есть 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 в любом классе.