2013-05-03 65 views
3

我在tableview單元格中添加了一個按鈕。我的問題是,當我改變它的標題調用方法pressHonkBtn:(id)sender它不改變它的標題。更改UIButton標題不起作用

如何解決這個問題。

+3

把你的代碼在這裏 – 2013-05-03 12:13:24

+0

日Thnx所有,我的問題解決了 – 2013-05-04 05:50:20

+0

你的歡迎畝,親愛的... – 2013-05-04 05:55:08

回答

8

使用你的代碼,因爲這:

的Objective-C:

-(IBAction)pressHonkBtn:(id)sender 
{ 
    UIButton *tempBtn = (UIButton *)sender; 
    [tempBtn setTitle:@"YOUR_TITLE" forState:UIControlStateNormal];// YOUR_TITLE is your button title 
    [tempBtn setTitle:@"YOUR_TITLE" forState:UIControlStateHighlighted]; 
} 

斯威夫特:

someUIButton.setTitle("String To Set", forState: UIControlState.Normal) 

希望它可以幫助你。

+5

沒有必要設置標題的狀態突出。 – 2013-05-03 12:17:45

+1

@Divz我認爲你不知道這一點。我們也需要爲突出顯示的狀態設置標題。 – 2013-05-03 12:22:58

+0

我認爲你應該由你自己來做,我對此充滿信心。 – 2013-05-03 12:23:22

-2

由於您正在接收id作爲參數,因此您需要將其轉換爲UIButton。

-(IBAction)pressHonkBtn:(id)sender 
{ 
    UIButton *senderBtn = (UIButton *)sender; 

    [senderBtn setTitle:[NSString stringWithFormat:@"Title"] forState:UIControlStateNormal]; 
} 
+0

感謝您的寶貴評論家,我可以知道投票的理由 – 2013-05-03 12:33:14

1

請嘗試使用這一個.....它會正常工作。

-(IBAction)pressHonkBtn:(id)sender 
{ 
    UIButton *btn = (UIButton *)sender; 
    [btn setTitle:@"title" forState:UIControlStateNormal]; 
} 
0

試試這個:

-(IBAction)pressHonkBtn:(id)sender 
{ 
    UIButton *btn = (UIButton *)sender; 

    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted]; 

    [btn setTitle:@"title" forState:UIControlStateNormal]; 
    [btn setTitle:@"title" forState:UIControlStateHighlighted]; 
}