2011-08-04 24 views
1

私はxCodeを使い始めています。テキストフィールド、ラベル、ボタンのあるウィンドウをポップアップする非常に単純な(Mac、iPhoneではなく)アプリケーションを作成しました。NSTextFieldでテキストを更新するには

テキストボックスの文字列値をメッセージボックスにポップアップ表示させることはできますが、テキストフィールドの文字列値をデフォルトテキストで設定することはできません。

私はテキストフィールドを移入しようとする使用していたコードは次のとおりです。

[_txtBox setStringValue:@"Hello World"]; 

セットの文字列メソッドは、ボックスの値を設定する必要がありますように見える唯一の方法です。プログラムはエラーなしで実行され、ボタンをクリックするとエラーはスローされません。

テキストフィールドにテキストが含まれている場合は、そのテキストがラベルに表示されます。

テキストフィールドを読み取って出力するコードの直前にコード行を配置すると、そのテキストボックスを表示するテキストボックスの代わりに、テキストボックステキストが消えてしまったように見えますフィールドは空の文字列です。ラベルも空白です。

提案が歓迎されます。私はラベルに使用していますほぼ同じ表現が正常に動作します:

[_lblOutPut setStringValue:_txtIP]; 

だから、私は間違っている...

乾杯をしています何見当がつかない!

デイブ

+0

は、「テキストフィールドを読み取り、出力コードが」私たちを表示してみ。 – andyvn22

答えて

2

NSTextFieldNumberFormatter」または「NSTextField」を使用しているかどうかを確認してください。

NSTextFieldNumberFormatter」は数字だけを許可します。 NSStringに設定しようとすると、空の文字列だけが表示されます。

あなたは間違いなくあなたは「NumberFormatterNSTextField」を使用している、あなたの出力で123を取得している場合は、この

[_txtBox setStringValue:@"123"]; 

は今、

0

あなたはIBのコンセントを正しい方法で接続してもよろしいですか? 、あなたがNSTextFieldやNSTextViewを使用しているテキスト入力に

NSLog(@"%@", _txtBox); 

(setStringValue前にそれを置く)

+0

私は、テキストボックスが正しく定義されていると思います。私が言ったように、私はそれをラベルに入れて読むことができます。手作りのビットを書くのではなく、すべてがXCodeで自動的に接続されていました。 – user867358

+0

テキストフィールドの値を読み取るために使用するコードを見てください – kilianc

0

の出力は何ですか?それらは取り扱いが大きく異なります。setStringValue:はNSTextFieldで動作しますが、NSTextViewは属性付きの文字列を[[textView textStorage] setAttributedString:...]に渡す必要があります。

+0

私は間違いなくテキストフィールドを使用しています。また、デフォルトのテキストを文字列に入れて、その文字列でラベルのテキストを更新しようとすると、ラベルのテキストは文字列の値ではなく空白になります。 NSString * defVal = @ "something"で文字列を定義しています。 – user867358

関連する問題