2013-01-04 58 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];