2

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*];

これは非常に基本的な質問ですが、私はほとんど初心者です。これを行う方法を学べば、おそらくそこから拾うことができるでしょう。

乾杯

(編集)

4

2 に答える 2

7

UITextField と UITextView の両方にtext、文字列値を取得するために使用できるプロパティがあります。例えば、

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

文字列を URL に挿入する前に、文字列が空でないことや無効な文字が含まれていないことを確認することをお勧めします。

于 2009-05-27T17:48:07.883 に答える
2

受け入れられた答えは良いです.iOSでテキストを取得する方法を拡大するために、次を追加したかっただけです。

textInRange:1 つの関数を使用してテキストが 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 プロパティの機能を使用できます。

于 2012-01-02T07:44:56.410 に答える