iphone - 我如何計算最佳的titleView寬度?



uinavigationcontroller uinavigationbar (1)

我通過這樣做了黑客攻擊:

    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;

討厭,但它的作品

https://src-bin.com

我正在使用導航與自定義UIView子類,成為我的titleView。 我想確保這是完整的可用寬度。

從我的UIViewControllerviewWillAppear:邏輯上來說,這應該是:

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

(我在這裡沒有一個正確的項目。)

然後,這將適應leftBarButtonItem不同可能的寬度。 catch()是leftBarButtonItemnil ,所以leftBarButtonItem.width總是0(好的,在模擬器中)。

backBarButtonItem也是零。

我該怎麼做呢?





uinavigationitem