UINavigationBar
定義された高さでサブクラス化し、sizeThatFits
メソッドを実装しようとしています:
@implementation NavigationBar
- (CGSize)sizeThatFits:(CGSize)size {
NSLog(@"frame: %@", NSStringFromCGRect(self.frame));
return CGSizeMake(self.frame.size.width, 62);
}
@end
しかし、どうやらself.frame.size.width
1024 ではない奇妙な値を常に返しているようです。これは私が目指しているものであり、以下に示す動作を引き起こしています。
NSLog
出力:
> frame: {{224, 20}, {576, 62}}
これを手動で定義CGSizeMake(1024, 62)
すると、次のようになります。
ボタンを非表示にすると、NSLog
出力は次のようになります。
> frame: {{-128, 20}, {1280, 62}}
ナビゲーション バーがすべてのウィンドウにまたがるように、このメソッドを適切に実装する方法についてのアイデアはありますか?