2013-01-04 100 views
1

我是iOS上的新的和我不知道是否是有可能改變按鈕的標題字體被按下時,我可以改變按鈕的顏色,當其作爲強調:IOS更改按鈕標題字體

[button setTitleColor:[UIColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:1.0] forState:UIControlStateHighlighted]; 

(我想改變突出顯示狀態的字體,所以我不確定buttonPressed方法是否可以清晰地工作)

回答

3

你可以使用titleLabel屬性來改變按鈕的字體大小:

button.titleLabel.font = [UIFont systemFontOfSize: 12]; 

編輯:您必須在動作UIControlEventTouchDownUIControlEventTouchUpInsideUIControlEventTouchUpOutside中使用它。

+0

這將需要編寫一個按鈕按下方法。雖然這樣做是我會推薦的。 –

+0

是的,我編輯了答案。 – Zaphod

+0

是的,他必須在接地期間將其更改爲一種字體,然後將其更改回所有最新事件。 –

2

如果你堅持不寫按鈕按下的方法,你可以嘗試你的運氣與屬性的字符串。 UIButton有方法

– setAttributedTitle:forState: 

您可以更改突出顯示的狀態,以正確字體的方式使用字符串版本。

您可以在the Apple Documentation中瞭解有關歸因字符串的更多信息。

另一個解決方案是使用自定義圖像爲您的按鈕。並使用方法

– setImage:forState: 
+0

'setAttributedTitle:forState:'似乎是理想的。我嘗試使用它,從button.currentAttributedTitle的可變副本開始,並添加屬性NSFontAttributeName。但我不明白爲什麼button.currentAttributedTitle和[button attributedTitleForState:UIControlStateNormal]總是爲零,即使按下按鈕。 –

2
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[myButton setTitle:@"Click Button" forState:UIControlStateNormal]; 
myButton.frame = CGRectMake(80.0, 210.0, 160.0, 40.0); 
[myButton.titleLabel setFont:[UIFont systemFontOfSize:10]]; 
[self.view addSubview:myButton];