Android提供了一个属性textScaleX
,允许在保留字体高度的同时水平缩放文本。我非常广泛地使用Android应用程序(特别是对于那些不像英语那么紧凑的语言),并希望在ios中找到类似的东西。
显然,我可以将文本绘制到图形上下文并将其缩放为图像,但这似乎是一个相当尴尬的解决方案,它将所有文本项转换为ImageView-s。
是否有原生方式水平缩放文字?例如,可能有一个选项可以根据系统字体创建自定义字体,并更改负责文本宽度的参数。
答案 0 :(得分:1)
使用matrix
的{{1}}属性。
这是一个在UIFontDescriptor
中使用UILabel
的示例,并将其字体设置为水平拉伸1.3倍。
self.label
答案 1 :(得分:0)
您可以缩放包含文本的UILabel或UITextView:
UILabel *label = ...
label.transform = CGAffineTransformMakeScale(0.8,1); //reduced size in x direction by 20%
如果这还不够,你可以查看NSLayoutManger,那里可能有东西。