2014-07-10 42 views
0

我有一段代碼,其創建一個按鈕,在右邊的空間大小,顏色等:按鈕標籤顏色改變之後單擊IOS

UIButton *learnmorebutton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[self.view addSubview:learnmorebutton]; 
learnmorebutton.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3]; 
learnmorebutton.frame = CGRectMake(0.0, 518.0, 159.0, 50.0); 
[learnmorebutton setTitle:@"learn more" forState:UIControlStateNormal]; 
[learnmorebutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
learnmorebutton.titleLabel.font = [UIFont fontWithName:@"Helvetica Light" size:17.0]; 

我然後有當該按鈕被按下爲觸發:

[learnmorebutton addTarget:self action:@selector(learnMoreClickEvent:) forControlEvents:UIControlEventTouchUpInside]; 

然後我想按鈕的背景改變,也是文本顏色,所以:

sender.titleLabel.textColor = [UIColor redColor]; 
sender.backgroundColor = [UIColor whiteColor]; 

的backgr ound改變顏色,但文字消失。就像它的白色一樣。

+0

你'learnMoreClickEvent'改變顏色的方法是從你所使用的不同在設置。嘗試'[發件人setTitleColor:[UIColor redColor] forState:UIControlStateNormal];'反而 – Larme

回答

1

,你需要通過

[sender setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 

的按鈕來設置標籤的顏色接受的標籤上沒有顏色變化直接導致了他的狀態,外觀上的變化。這就是爲什麼你需要爲此使用特定的UIButton API

0
[learnmorebutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 

更改爲

[learnmorebutton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 

當您單擊的UIButton得到高亮白色的顏色,爲什麼您的文字看起來像文本消失。

0

如果你問你可以輕鬆地改變它像這樣「當按下按鈕如何改變顏色」:

self.titleLabel.textColor = [UIColor redColor]; 
self.*yourlabel*.textColor = [UIColor *desiredColor*];