わかりました、私は質問に1つずつ対処しようとします:
まず、ロード時にテキスト フィールドを表示します。テキストを保持するラベルへのアウトレットを作成します。例 - .h ファイルで開始
@property (weak, nonatomic) IBOutlet UILabel *textbox1;
Interface Builder で、ラベルをドラッグして、ドラッグしたばかりのラベルを設定したプロパティに接続します。
これで、価値を保存するアウトレットができました。
何かを入れるには、.m ファイルに移動して-(void)viewDidLoad
、次のようなものを追加します。
self.textbox1.text = @"some text to display";
これで画面に何かが表示されるはずです。
ここで、ユーザーの入力中または入力後に他の画面上のラベルを動的に更新する場合は、テキスト フィールド デリゲートを実装する必要があります。全体を説明しようとするのは少し複雑ですが、基本的に .h ファイルでは、実装行は次のようになります。
@interface YourViewControllerNameHere : UIViewController <UITextFieldDelegate>
次に、.m ファイルにいくつかの変更を加える必要があります
最初にviewDidLoad
この行を追加します
self.textbox1.delegate = self; //this tells the UILabel to send changes to your program
次に、オープンスペースでこれらのコールバックメソッドを実装できます。次に、プログラムを実行すると、ログにより、いつどこで何が起こっているかがわかります。
基本的に、何をしたいかによって、正しいメソッドからコードを呼び出します。
- (void)textDidChange:(id<UITextInput>)textInput {
NSLog(@"text did change");
}
- (void)textFieldDidBeginEditing:(UITextField *)textField {
NSLog(@"text field did begin editing");
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
NSLog(@"text field did end editing");
}
-(void)textWillChange:(id<UITextInput>)textInput {
NSLog(@"text will change");
}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"text field should change characters in range");
//if this is disabled no character will appear
//use to filter out bad characters
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSLog(@"text field should return");
return YES;
}