【问题标题】:A simple UITextView clips text with non-system font一个简单的 UITextView 用非系统字体剪辑文本
【发布时间】:2013-08-21 17:30:02
【问题描述】:

我在 UITextView 中使用非系统字体显示文本(即,我已将它与我的应用程序捆绑在一起)。该文本的一部分(即,高于正常水平的上升部分)在 UITextView 中被剪裁。

这是我创建 UITextView 的方法:

UITextView *tv = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
tv.font = [UIFont fontWithName:MY_INSTALLED_FONT_NAME size:54.f];
tv.textColor = [UIColor brownColor];
tv.backgroundColor = [UIColor yellowColor];
tv.text = @"Hello\nHello";

当我将 UITextView 添加到视图层次结构时,我看到:

类似的问题的一个常见建议是(尽管我没有发现任何人有同样的问题)是确保 clipsToBoundsNO 并尝试修改 contentInset 属性UITextView 的。这些没有帮助。另一个屏幕截图(显示contentInset 调整):

使用各种工具(例如 RevealUIView 上的私有方法 recursiveDescription 两者都有帮助),我发现文本被 UITextView 的子视图剪切,这似乎是为了显示内容。在 iOS 6 中,该视图的类型为 UIWebDocumentView

有人知道如何解决这个问题吗?我错过了什么明显的东西吗?

【问题讨论】:

  • 您的字体配置文件中似乎有问题。如果设置不正确,可能是垂直间距?
  • @msgambel 感谢您的建议。但是,我正在使用的其他字体(来自同一来源)可以正确显示,并且提供该字体的人在提供数字字体方面非常有经验。此外,粗略检查UIFont 属性(ascendercapHeight 等)看起来是正确的。但是,最好检查所有内容,并且我一定会查看字体本身。
  • 你得到解决方案了吗@TimCamber?

标签: iphone ios uitextview typography


【解决方案1】:

plist 中有一个名为“应用程序提供的字体”的选项。您需要输入您的自定义字体名称..不要忘记将字体文件添加到您的项目中...然后它将起作用

【讨论】:

  • 我认为加载字体不是问题。字体本身正在显示,只是上面描述的这个问题。 (也许我误会了你?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 2011-06-10
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
相关资源
最近更新 更多