質問

私は私のtitleViewなっカスタムUIViewサブクラスでナビゲーションを使用しています。私は、これは完全な利用できる幅であることを確認します。

論理的には私のUIViewControllerviewWillAppear:から、これはする必要があります:

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

(私はここで右のアイテムを持っていません。)

このはleftBarButtonItemの異なる可能な幅のために、そして、適応するでしょう。キャッチはleftBarButtonItemnilので、leftBarButtonItem.widthは(も、シミュレータでとにかく)は常に0であるということです。

backBarButtonItemも皆無である。

私が代わりにやるべきことは何?

役に立ちましたか?

解決

私は以下のようにして、これをハッキング

    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;

淫乱しかし、それは動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top