为了自定义我的导航栏,我做了几个步骤:
- 创建一个继承自
UINavigationBar
类的子类,进行一些自定义,例如绘制阴影或为导航栏设置背景图像。 - 创建一个空的 xib 文件,它只包含一个导航视图控制器。
- 在导航视图控制器中设置导航栏的类名。
一切正常,但是当我想在导航栏上添加另一个自定义的后退按钮时,我尝试将 a 附加UIBarButtonItem
到navigationItem.backbarbuttonitem
,我不知道如何navigationItem
从UINavigationBar
子类中获取。
代码示例:
// header file
@interface MyNavigationBar : UINavigationBar
@end
// implementation file
@implementation MyNavigationBar
-(void)drawRect:(CGRect)rect
{
// background image
UIImage* background_image = [UIImage imageNamed:@"my-navigation-bar.png"];
[self setBackgroundImage:background_image forBarMetrics:UIBarMetricsDefault];
// draw shadow
self.layer.masksToBounds = NO;
self.layer.shadowOpacity = 0.6;
self.layer.shadowOffset = CGSizeMake(0, 3);
}
@end
有没有办法navigationItem
在我的自定义子类中获取条目UINavigationBar
,或者我只是做错了?:P
谢谢 :)