我有一个场景,我必须在 UIView 上绘制文本。我的代码是
- (void)drawRect:(CGRect)iRect {
[super drawRect:iRect];
CGContextRef aContext = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(aContext, [[UIColor greenColor] CGColor]);
[@"s" drawInRect:CGRectMake(0, 0, iRect.size.width, iRect.size.height) withFont:[UIFont systemFontOfSize:500] lineBreakMode:NSLineBreakByCharWrapping alignment:NSTextAlignmentCenter];
}
使用此代码,我可以实现:
但是,由于我使用的 FontSize 为 500,因此文本 lineWidth 很大。我想将 lineWidth 减小到 1px。
请就如何实现这一目标提出建议。
- 除了常规的,还有其他方法吗
drawInRect
? - CoreText 会帮我找到解决方案吗
谢谢。
编辑
使用 UIBezierPath 作为字形,我能够得到字符的路径。但是实现的路径是通过角色的边界。因此,我得到的文本为:
这可以做成单行吗?