【问题标题】:Calculate text width on iOS given UIView [closed]在给定 UIView 的 iOS 上计算文本宽度 [关闭]
【发布时间】:2013-02-22 11:07:03
【问题描述】:

在 Windows 世界中,您可以这样做来获取文本宽度:

SIZE size;
GetTextExtentPoint(DC, "hello", strlen("hello"), &size)
printf("x = %i y = %i\n", size.x, size.y);
    // will print x = 30, y = 15 (for instance)

如果我手头有 UIView 句柄,如何在 iOS 上轻松做到这一点?

【问题讨论】:

  • 如果您提出两个单独的问题(一个针对 iOS,一个针对 Android),这样每个问题都可以接受答案,这将更符合 StackOverflow 的范式。将来查找此问题的其他人可能只对其中一个答案感兴趣。

标签: android ios text-rendering


【解决方案1】:

对于 iOS(我会让更熟悉 Android 开发的人回答第二部分),您需要使用 sizeWithFont: 的变体。根据您是否希望允许多行,您应该查看我链接的文档中解释的各种方法。

我通常认为最有用的是sizeWithFont:constainedToSize:,我将约束大小设置为视图中可用的有限宽度,并将高度设置为CGFLOAT_MAX,这允许标签尽可能多地使用根据需要垂直空间(因为我经常在垂直滚动视图中有标签)。

【讨论】:

猜你喜欢
  • 2023-03-03
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 2011-11-25
  • 2010-09-12
相关资源
最近更新 更多