我設置文本顏色UIButton
UIButton的標題文本顏色
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
它不改變顏色相同的代碼,我使用的是在它的工作的另一個代碼。
我設置文本顏色UIButton
UIButton的標題文本顏色
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
它不改變顏色相同的代碼,我使用的是在它的工作的另一個代碼。
使用
目標C
[headingButton setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal];
夫特
headingButton.setTitleColor(.black, for: .normal)
這個工程。但原始問題中的代碼也經常起作用。任何人都知道爲什麼標題只是有時無法回答問題中的代碼? – crgt
原因是當單擊按鈕或以其他方式更改狀態時,按鈕中的代碼將重置titleLabel的屬性以匹配按鈕對該狀態的內部設置。 – psycotica0
蘋果的文檔聲明如下:「不要使用標籤對象來設置文本顏色或陰影顏色,而是使用該類的setTitleColor:forState:和setTitleShadowColor:forState:方法來進行這些更改。「雖然沒有真正解釋」爲什麼「 – clauswey
我創建的自定義類myButton的從UIButton
延長。然後Identity Inspector
裏面添加了這個:
在此之後,按鈕類型更改爲定製:
然後你可以設置屬性,如textColor
和UIFont
您UIButton
爲不同的狀態:
然後,我還創建了內部MyButton
類兩種方法,我有我的代碼裏面打電話的時候,我想UIButton
所強調的要顯示的:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
您必須設置titleColor
正常,亮點並選擇UIControlState
,因爲根據UIControlState
的文檔,一次可以有多個狀態。 如果您不創建這些方法,UIButton
將顯示選擇或突出顯示,但它們不會保留在您在UIInterface Builder
內部設置的UIColor
,因爲它們僅用於顯示選擇的簡短顯示,而不用於顯示選擇本身。
在斯威夫特:
更改標籤文本顏色是不是改變它的UIButton
有很大不同。要更改文本顏色爲UIButton
使用這種方法:
self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)
的
可能重複[?我怎樣才能改變UIButton的標題顏色(http://stackoverflow.com/questions/2474289/how-can-i-改變 - uibutton-標題顏色) – silentBeep