UINavigationItem标题标签设置宽度?

问题描述:

在我的UIViewController设置我的标题动态,所以我不知道会在导航栏中显示并因为,我有当前形势的字符串的长度: alt text http://img94.imageshack.us/img94/2484/picture3vf.pngUINavigationItem标题标签设置宽度?

有什么办法来设置在导航栏中显示标题的标签宽度?或者我应该想一个与,比较文本长度,如果它太长,我应该调整它,并显示着名的“...”?

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

谢谢!

也许你可以在导航栏中添加一些虚拟按钮,它们将直接位于按钮下方。这将显示正常的文字行为,但也可以让你玩你的颜色。

+0

谢谢我现在就试试:) – 2010-02-17 14:28:33

+0

感谢它的工作! – 2010-02-17 14:58:23

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

+0

它们作为导航条的子视图添加,因为我想将背景颜色更改为红色并保留它们黑色。 – 2010-02-17 14:04:05

+0

我不认为有办法缩小标签的宽度。如果你不想使用UILabel作为子视图,将只有“jessecurry”-way;) – Shingoo 2010-02-17 14:21:19

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

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