iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景。可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景。
可以利用NavigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics方法将图片填充NavigationBar的背景。
具体代码可参考:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navBarBj"] forBarMetrics:UIBarMetricsDefault];
其中UIBarMetricsDefault指的是手机竖直方向的NavigationBar,另外一个常用的UIBarMetricsLandscapePhone指的是手机横向的NavigationBar。
另外关于自定义Back按钮,以AView跳转到BView为例。
一种方式是在BView的NavigationItem自定义一个LeftBarButtonItem,实现返回导航操作。代码可参考:
UIBarButtonItem *barButtonItemLeft=[[UIBarButtonItem alloc] initWithTitle:@"返回主页" style:UIBarButtonItemStyleBordered target:self action:@selector(NavigationToMainView)];
[[self navigationItem] setLeftBarButtonItem:barButtonItemLeft];
一种方式是在AView中,设置返回按钮自定义样式。具体代码可参考:
UIBarButtonItem *backItem=[[UIBarButtonItem alloc]init];
backItem.title=@"";
backItem.image=[UIImage imageNamed:@""];
self.navigationItem.backBarButtonItem=backItem;