UITextView

时间:2015-07-20 11:12:56

标签: ios objective-c fonts uitextview core-text

我有一个UITextView集,其中包含一些包含中文和拉丁字符的文本。

enter image description here

如您所见,lineSpace的不同取决于上面的行中是否有拉丁字符。显然,我需要删除此差异并均衡lineSpace 。 以下是陈述:

  • 我使用的是AttributedString
  • 字体不同,具体取决于字符是拉丁语还是中文
  • 上述要点必须保持真实
  • 两种字体之间的lineHeight不同

我几乎可以肯定,问题的原因来自于最后一点,但由于字体的lineHeight不可编辑,我有点卡住了。

我已经尝试使用这些属性

style.minimumLineHeight = mylineSpacing;
style.maximumLineHeight = mylineSpacing;
style.lineHeightMultiple = mylineSpacing;
style.lineSpacing = 0;

NSDictionary *attributes = @{
                             NSParagraphStyleAttributeName : style
                             };

它不起作用。我正在考虑使用CoreText甚至CoreGraphic逐个重绘所有字符,但也许有一个更简单的解决方案。如果没有,我应该使用哪个套件?

PS:我不是中国人,我使用随机中文文本截图,如果我的文字看起来很愚蠢/没有任何意义/或以任何方式冒犯,我向最终的中国stackoverflow用户道歉。

0 个答案:

没有答案