我想子类化UINavigationBar
,以便我可以在它的drawRect:
.
这是我的代码:
导航控制器 (.h)
@interface CORENavigationController : UINavigationController
@property (strong, nonatomic) CORENavigationBar *customNavigationBar;
@end
导航控制器 (.m)
@implementation CORENavigationController
@synthesize customNavigationBar = _customNavigationBar;
- (UINavigationBar *)navigationBar {
if (![self customNavigationBar]) {
[self setCustomNavigationBar:[[CORENavigationBar alloc] init]];
}
return [self customNavigationBar];
}
导航栏 (.h)
@interface CORENavigationBar : UINavigationBar
@end
导航栏 (.m)
@implementation CORENavigationBar
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
}
问题是导航栏没有标题,例如我能看到的只是标准的蓝色背景。
一旦我删除以下方法,标题就会回到那里:
- (UINavigationBar *)navigationBar {
if (![self customNavigationBar]) {
[self setCustomNavigationBar:[[CORENavigationBar alloc] init]];
}
return [self customNavigationBar];
}
为什么标题消失了?我打电话给super
'sdrawRect:
并且不改变任何其他东西。
谢谢!