作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在深入研究 iOS 上的 NSAttributedString
。我有一个模型,它返回一个人的名字和姓氏作为 NSAttributesString
。 (我不知道在模型中处理属性字符串是否是个好主意!?)我希望名字可以正常打印,而姓氏应该以粗体打印。我不想要的是设置文本大小。到目前为止我发现的是:
- (NSAttributedString*)attributedName {
NSMutableAttributedString* name = [[NSMutableAttributedString alloc] initWithString:self.name];
[name setAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]} range:[self.name rangeOfString:self.lastname]];
return name;
}
但是,这当然会覆盖姓氏的字体大小,这在 UITableViewCell
中提供了一个非常有趣的外观,其中名字将以单元格的标签和姓氏将打印得非常小。
有什么办法可以实现我想要的吗?
感谢您的帮助!
最佳答案
这是一个 Swift
扩展
,它使文本变粗,同时保留当前字体属性(和文本大小)。
public extension UILabel {
/// Makes the text bold.
public func makeBold() {
//get the UILabel's fontDescriptor
let desc = self.font.fontDescriptor.withSymbolicTraits(.traitBold)
//Setting size to '0.0' will preserve the textSize
self.font = UIFont(descriptor: desc, size: 0.0)
}
}
关于iphone - NSAttributedString 在不改变 pointSize 的情况下将样式更改为粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974120/
下面是我用来制作 1px 文本描边轮廓的代码。但是如何使轮廓变粗呢?如果我只是用“5px”替换所有“1px”,结果看起来很疯狂。 HTML Hello! CSS .element { color:
我是一名优秀的程序员,十分优秀!