代码改变世界

iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮

  王祖康  阅读(26762)  评论(0编辑  收藏  举报

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;

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示