2013-02-10 74 views
0

我想创建一个简单的按钮,textfield,目标c中的标签程序,我有按钮问题。按钮崩溃目标c程序

在文件viewController.m,我有以下代码:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown]; 

[button setTitle:@"Look up" forState:UIControlStateNormal]; 
button.frame = CGRectMake(20,108,97,37); 
[self.view addSubview:button]; 

- (IBAction) buttonPressed:(id) sender { 
[_textField resignFirstResponder]; 
_label.text = textField.text; 
} 

据我了解,该按钮应该采取什么是我的文本框,并把它单击此按钮后,将其转换为标签。但是,按下按钮需要我在返回线上的main.m。它说程序暂停。如果我再次尝试使用该程序,它不起作用。我已经与其他在线代码交叉检查这个按钮片段,不能完全弄清楚为什么我的失败。

+0

文本字段正常工作。我之后实现了按钮和标签,所以我也不确定它是否实际上是按钮实现或标签崩溃的程序。我所知道的是,一旦我按下按钮,一切都会失控。 – krikara 2013-02-10 02:54:21

+0

您是否在使用xib或故事板?什么是iOS版本?我非常肯定,要从文本字段中获取文本,您需要使用'textField.textLabel.text' – Firo 2013-02-10 03:06:49

+0

我甚至不知道什么是xib和故事板,所以我猜不。我正在使用iOS SDK 6.0。 – krikara 2013-02-10 03:14:30

回答

1

你已经错过了一个冒号在这条线

[button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown]; 

你的按钮调用了一个不存在的方法,这就是为什么它被撞毁。

应该

[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown]; 

...来自

- (IBAction) buttonPressed:(id) sender; 

改变你的buttonPressed方法的签名

- (IBAction) buttonPressed; 

,你应该在你的日志中看到一条消息,像

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ViewController buttonPressed]: unrecognized selector sent to instance