2013-02-10 35 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