代码之家  ›  专栏  ›  技术社区  ›  Sorin Antohi

uinavigationitem标题标签设置宽度?

  •  0
  • Sorin Antohi  · 技术社区  · 14 年前

    在我的uiviewController中,我动态地设置了标题,因此我不知道将在导航栏中显示的字符串的长度,因此我有当前的情况: alt text http://img94.imageshack.us/img94/2484/picture3vf.png

    是否有任何方法可以设置在导航栏中显示标题的标签宽度?或者我应该考虑使用,将文本长度与它进行比较,如果文本太长,我应该调整它的大小并显示著名的“…”?

    我知道可以将uilabel作为子视图添加到导航栏,但我不想使用该解决方案。

    谢谢您!

    3 回复  |  直到 13 年前
        1
  •  0
  •   jessecurry    14 年前

    也许你可以在导航栏中添加一些虚拟的按钮,直接放在按钮下面。这将显示正常的文本行为,但也允许您使用自己的颜色。

        2
  •  0
  •   Shingoo    14 年前

    我不知道你是怎么做到的。如果我创建一个导航视图并设置一个太长的标题,默认情况下,它将被缩短为“…”。这些黑色按钮似乎不是默认按钮。

        3
  •  0
  •   CedricSoubrie    13 年前

    可以使用nsstring的sizeWithFont方法来了解标签的大小。请注意,如果知道标签宽度不应大于某个值,则可以添加最大大小。

    // Get the size really needed for the label string
        CGSize expectedLabelSize = [self.text sizeWithFont:self.font             
        constrainedToSize:maximumSize                                   
        lineBreakMode:self.lineBreakMode];