作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试弄清楚如何使用在 Interface Builder 中定义的字体最好地加粗和取消加粗 UILabel。
我知道我可以做到这一点,例如:
[myLabel setFont:[UIFont boldSystemFontOfSize:14.0]];
但随后我强制字体与它在 IB 中的设计方式可能不同(在样式和大小上)。
我正在寻找本质上可以做到这一点的东西:
[myLabel setBold:TRUE];
或 False,视情况而定。
有办法吗?
最佳答案
不幸的是,UIKit 中没有真正的“粗体”概念。如果您尝试将属性字符串的一部分设置为“粗体”,您实际上是在选择同一字体系列中的粗体字体变体。
你可以这样写一些半黑的东西:
@implementation UIFont (BoldVariant)
- (UIFont *)boldVariant
{
for (NSString *fontName in [UIFont fontNamesForFamilyName:self.familyName]) {
if ([fontName hasSuffix:@"-Bold"]) {
return [UIFont fontWithName:fontName size:self.pointSize];
}
}
// If we couldn't find it, return the same font.
return self;
}
@end
这假定字体遵循标准命名方案。它还假定 fontNamesForFamilyName:
返回任何值。我注意到使用系统字体时,它会返回一个空数组。
关于ios - 向 UILabel 添加粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011663/
下面是我用来制作 1px 文本描边轮廓的代码。但是如何使轮廓变粗呢?如果我只是用“5px”替换所有“1px”,结果看起来很疯狂。 HTML Hello! CSS .element { color:
我是一名优秀的程序员,十分优秀!