5

UIViewtitleView になるカスタム サブクラスでナビゲーションを使用しています。これが利用可能な全幅であることを確認したいと思います。

UIViewController私のから論理的にはviewWillAppear:、これは次のようになります。

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

(ここには適切なアイテムがありません。)

これは、 のさまざまな可能な幅に適応しleftBarButtonItemます。キャッチは、つまりleftBarButtonItemですnilので、leftBarButtonItem.width常に 0 です (とにかく、シミュレーターでは)。

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 に答える