好的,我将尝试一一解决问题:
首先在加载时显示文本字段。为标签创建一个出口来保存您的文本。示例 - 从 .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;
}