我正在尝试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}}
关于如何正确实现此方法以使导航栏扩展到所有窗口的任何想法?