iOS 在突出显示或选择时将按钮文本更改为粗体

Posted

技术标签:

【中文标题】iOS 在突出显示或选择时将按钮文本更改为粗体【英文标题】:iOS change button text to bold when highlighted or selected 【发布时间】:2014-06-24 09:47:17 【问题描述】:

我需要在突出显示或选择时将标题设置为粗体

这是我用来以编程方式生成按钮的代码:

    UIButton *pagerButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [pagerButton setFrame:CGRectMake(offsetX, 10, 30, 30)];

    [pagerButton setTitle:pageNumber forState:UIControlStateNormal];
    [pagerButton setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];

我找不到任何属性来设置标题的字体或将其更改为粗体 forState:UIControlStateHighlighted

【问题讨论】:

尝试使用NSAttributedString(与setAttributedTitle:forState:)? 看看UIButton类参考:developer.apple.com/library/ios/documentation/uikit/reference/… 【参考方案1】:

除了颜色和阴影之外,您还必须在自己的代码中处理这种情况。然而,加粗文本也可以使用属性文本,所以你可以使用setAttributedTitle:forState:

【讨论】:

【参考方案2】:

当你点击按钮然后在你的按钮点击事件中调用下面的方法

-(void)setButton:(UIButton *)button title:(NSString *)title fontSize:(CGFloat)fontSize

    [button setTitle:title forState:UIControlStateNormal];
    [button.titleLabel setFont:[UIFont fontWithName:@"Impact" fontSize]];

【讨论】:

请不要使用大写的变量名。【参考方案3】:

我不确定如何通知按钮的更改状态.. 我确定有办法..

但是您可以通过这种方式将按钮文本设置为粗体 ----->

button.titleLabel.font = [UIFont boldSystemFontOfSize:15];

它会将字体设置为粗体,您还可以设置大小...

但是,如果您使用自定义字体,则需要获取该系列的粗体样式字体.... 希望对您有所帮助..

【讨论】:

以上是关于iOS 在突出显示或选择时将按钮文本更改为粗体的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NativeScript 中为 iOS 更改突出显示状态的按钮文本颜色?

突出显示表格视图单元格 TextLabel 文本颜色

将突出显示的文本更改为不同的颜色

选择行时禁用uitableviewcell中的突出显示按钮

Objective C UIButton with divider并在选中时更改textcolor

删除选定 UIButton 中的突出显示