どのようにして、最適なtitleView幅を計算するのですか?
質問
私は私のtitleViewなっカスタムUIView
サブクラスでナビゲーションを使用しています。私は、これは完全な利用できる幅であることを確認します。
論理的には私のUIViewController
のviewWillAppear:
から、これはする必要があります:
CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;
(私はここで右のアイテムを持っていません。)
このはleftBarButtonItem
の異なる可能な幅のために、そして、適応するでしょう。キャッチはleftBarButtonItem
がnil
ので、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;
淫乱しかし、それは動作します。
所属していません StackOverflow