5

我正在使用带有自定义UIView子类的导航,该子类成为我的 titleView。我想确保这是完整的可用宽度。

UIViewController从我的逻辑上讲viewWillAppear:,这应该是:

CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;

(我这里没有合适的项目。)

那么,这将适应不同的可能宽度leftBarButtonItem。问题是,所以leftBarButtonItem总是0 (好吧,无论如何在模拟器中)。nilleftBarButtonItem.width

backBarButtonItem也是零。

我应该怎么做?

4

1 回答 1

4

我通过执行以下操作破解了这个:

    int vcStackSize = [[self.navigationController viewControllers] count];
    WEViewController* previousController = [[self.navigationController viewControllers] objectAtIndex:vcStackSize - 2];

    NSString* previousTitle = [previousController title];

    UIFont* font = [UIFont boldSystemFontOfSize:12];


    lw = [previousTitle sizeWithFont:font].width + 26;

讨厌,但它的工作原理

于 2009-09-24T17:02:08.393 回答