好像我需要使用
@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];
}
如果我这样做,它会在输入文本时崩溃...否则它只会在完成时更新。
答案 0 :(得分:3)
你不需要最后一行。请改用textField.delegate=self;
。
答案 1 :(得分:1)
替换
[textField addTarget:self action:@selector(textViewDidChange) forControlEvents:UIControlEventEditingChanged];
与
[textField addTarget:self action:@selector(textViewDidChange:) forControlEvents:UIControlEventEditingChanged];
因为您的方法采用了一个参数:文本字段本身。该参数是选择器的一部分,由冒号表示。
或只需实现UITextView委托方法:还有一个值已更改的回调函数。