1

看来我需要使用

@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];
}   

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

4

2 回答 2

3

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

于 2012-04-19T20:16:36.093 回答
1

代替

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

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

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

或者只是实现 UITextView 委托方法:也有一个 value-changed-callback。

于 2012-04-19T20:34:56.720 回答