UITextField和UITextView的内容到NSString

问题描述:

我有一个UITextView和2 UITextField设置。 UITextView在轻击屏幕的空白部分时退出第一响应者状态,对于2 UITextField相同,再加上这两个,返回键也会退出第一响应者状态。所有3个都在接口中声明。UITextField和UITextView的内容到NSString

我想获得所有这些内容,以个人的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属性的功能。