Ios 强制UIFont以单间距渲染

Ios 强制UIFont以单间距渲染,ios,objective-c,cocoa-touch,uifont,Ios,Objective C,Cocoa Touch,Uifont,是否可以强制将UIFont设置为单间距 具体来说,我使用的字体不包含等距数字(表格数字)。创建一个修改过的单间距字体对象并将该字体添加到属性字符串的数字段将非常有用 另一种解决方案可能是向属性字符串添加自定义属性,并修改处理文本布局的内容,以便在特定范围内使用固定大小的图示符 不起作用的事情: 有许多问题建议通过覆盖UILabel上的-drawRect:或-drawTextInRect:来解决类似问题(请参阅:)。这似乎是一个疯狂的解决方案,如果一个字符串混合了单间距字体和非单间距字体,那么它的

是否可以强制将
UIFont
设置为单间距


具体来说,我使用的字体不包含等距数字(表格数字)。创建一个修改过的单间距字体对象并将该字体添加到属性字符串的数字段将非常有用

另一种解决方案可能是向属性字符串添加自定义属性,并修改处理文本布局的内容,以便在特定范围内使用固定大小的图示符

不起作用的事情: 有许多问题建议通过覆盖
UILabel
上的
-drawRect:
-drawTextInRect:
来解决类似问题(请参阅:)。这似乎是一个疯狂的解决方案,如果一个字符串混合了单间距字体和非单间距字体,那么它的复杂程度将令人望而却步


还有一些问题建议,特别是在数字方面,使用启用了某些字体功能的字体描述符创建字体。(见附件)。这似乎只适用于包含这些功能的字体。我使用的字体不包含这些功能,它们没有任何效果。字体功能可以通过使用类似于
NSLog(@“%@”、CTFontCopyFeatures((uu bridge CTFontRef)myFont)的东西来检查

“创建一个修改过的单间距字体对象并将该字体添加到属性字符串的数字段将非常有效。”为什么不这样做?(只需将修改后的字体包含在应用程序包中即可。)@AaronBrager精彩一点。1) 我没有修改字体的软件或专业知识。2) 我觉得有一种方法可以通过编程方式“创建”一个修改过的字体对象,这样可以在包中节省一些空间。我仍然有兴趣找出是否有一个程序化的解决方案。