5

我正在使用自定義UIView子類的導航,該子類成爲我的titleView。我想確保這是完整的可用寬度。如何計算最佳titleView寬度?

從我 UIViewControllerviewWillAppear:

從邏輯上講,這應該是:

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

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

這將適應,那麼,對於不同的可能寬度leftBarButtonItem。值得注意的是,leftBarButtonItemnil,所以leftBarButtonItem.width總是0(好吧,無論如何,在模擬器中)。

backBarButtonItem也爲零。

我應該做些什麼呢?

+0

我有這個確切的問題,也是:( – Sam 2009-09-24 14:35:22

回答

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; 

討厭,但它的工作原理