次のコード行を使用して、のUIView
として追加した のサブクラスがあります。titleView
navigationItem
self.navigationItem.titleView = tempview;
簡単です。それはうまくいきます。私の問題は、これnavigationItem
が時々rightBarButton
更新されることです(ボタンがない場合もあれば、標準サイズのボタンが1つある場合もあれば、より大きなボタンがある場合もあります)。
として追加したクラスのlayoutSubviews
メソッドを簡単に使用できると考えたので、これを入れました:tempview
titleView
-(void)layoutSubviews {
[super layoutSubviews];
self.mylabel.frame = self.bounds;
}
rightBarButton
アイテムが更新されたときにタイトルビューのサイズが正しく変更されないため、これは機能していないようです。
また、境界が小さくなると境界が拡大せず、単に位置が変わることにも気付きました。
私は and を使用してみましsetNeedsLayout
たlayoutIfNeeded
が、それらは単に間違った境界でビューを「サイズ変更」します。
また、アイテムが nil に設定されていることも確認しましたrightBarButton
が、縮小するとビューが正しく拡大されません。
助けてくれてありがとう!