用户正在键入更新标签

时间:2012-04-19 20:14:46

标签: ios xcode uitextfield

好像我需要使用

@interface ViewController : UIViewController <UITextFieldDelegate>

- (void)textViewDidChange:(UITextView *)textView {
label.text = textField.text;    
}

在viewDidLoad

中可能是这样的
- (void)viewDidLoad
{
[super viewDidLoad];


[textField addTarget:self action:@selector(textViewDidChange) forControlEvents:UIControlEventEditingChanged];
}   

如果我这样做,它会在输入文本时崩溃...否则它只会在完成时更新。

2 个答案:

答案 0 :(得分:3)

你不需要最后一行。请改用textField.delegate=self;

答案 1 :(得分:1)

替换

[textField addTarget:self action:@selector(textViewDidChange) forControlEvents:UIControlEventEditingChanged];

[textField addTarget:self action:@selector(textViewDidChange:) forControlEvents:UIControlEventEditingChanged];

因为您的方法采用了一个参数:文本字段本身。该参数是选择器的一部分,由冒号表示。

只需实现UITextView委托方法:还有一个值已更改的回调函数。