如何以编程方式获取导航栏标题的大小?

时间:2012-07-30 21:30:01

标签: iphone cocoa-touch uinavigationbar

从UIViewController,我需要在UINavigationBar标题的左边放置一个图形。在下图中,星号显示该点。

 ____________________________
|                            |
| <back|     *Title          |
|____________________________|

我认为计算该点的x坐标的好方法是这个公式:

self.view.frame.size.width / 2.0 - titleWidth / 2.0

如果我可以提取UINavigationBar的titleTextAttributes的UIFont,我将能够获得标题的CGSize。

CGSize titleSize = [self.title 
    sizeWithFont:(UIFont*)[self.navigationController.navigationBar.titleTextAttributes      
    objectForKey:@"font"]];

令我沮丧的是,UIFont是零。

2 个答案:

答案 0 :(得分:0)

如果找到UINavigationBar,然后查看其大小,请查看UITextField的子视图怎么样?

答案 1 :(得分:0)

错误/不读取文档? UIFont是一个适当的Objective-C类,可以通过指针使用。

使用:

(UIFont *)[titleTextAttributes objectForKey:@"font"];

代替。