如何在UINavigationBar中获取标题标签的宽度?

时间:2014-02-20 23:39:14

标签: ios iphone cocoa-touch uilabel uinavigationbar

问题

如何在title label中动态获取UINavigationBar的宽度?我想要UILabel's宽度,而不是text内部的宽度(两个测量值通常相同,但是当文本太长而无法放入标签时会有所不同)。请记住,leftBarButtonItem或rightBarButtonItem的存在可能会降低标题的宽度。

应用

我想检测navigation bar's标题文本何时被删除以至于被截断。在这种情况下,我想在更合适的位置显示整个标题。我将使用NSString's sizeWithFont将其与导航栏的标题标签大小进行比较,以检测这种情况。

尝试失败

  1. 获取UINavigationBar's titleView的frame.size.width。 TitleView是零。仅当您具有自定义标题视图而不是典型的文本标题时才可用。
  2. 尝试计算leftBarButtonItem和rightBarButtonItem之间的距离。这些是UIBarButtonItem,它们不是从UIView派生的,所以它们没有框架。

0 个答案:

没有答案