2012-04-19 39 views
1

好像我需要在viewDidLoad中使用更新标签为用户键入

@interface ViewController : UIViewController <UITextFieldDelegate> 

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

,也许这样的事情

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 


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

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

回答

1

更换

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

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

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

只是实现UITextView委托方法:还有值更改回调。

+0

完美的谢谢。 – 2012-04-19 20:36:42

+0

很高兴我能帮到你。 ;) – 2012-04-19 20:37:00

3

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

+0

修复崩溃..但它仍然不会更新。 – 2012-04-19 20:29:10

+0

这是因为在你的** - (void)textViewDidChange:(UITextView *)textView {label.text = textField.text; } ** textField不等于textView – 2012-04-19 20:35:17

+0

将texField更改为textView或反之亦然 – 2012-04-19 20:35:46