您当前的位置: 首页 > 知识百科 > 微信小程序导航栏返回样式定制

微信小程序导航栏返回样式定制

时间:2023-07-01 14:05 阅读数:152 人阅读 分类:知识百科

  微信小程序开发后的导航栏自带一个返回按钮,这个返回按钮是可以进行设置的,主要是设置它的样式。那么微信小程序导航栏返回样式怎么设置呢?一起来看看吧!

  我们需要定制它的样式,这可以有许多办法。比如 Hack 导航栏的视图层次。如果你不想 Hack 导航栏,那么你可以使用NavigationBarDelegate。问题在于,如果是导航控制器自带的NavigationBar,你将不能访问NavigationBar(程序会Crash)。这是苹果文档中的说明:

  Note that if you use aUINavigationController object to manage hierarchical navigation, you should notdirectly access the navigation bar object.

  这里,我们提供另一种“定制”方法。也许不能称之为定制,因为我们实际上是将默认的标题栏返回按钮隐藏了,并提供一个自定义的返回按钮作为导航栏的leftButton。使用这种方法,我们不仅可以定制按钮的样式(标题和背景图片),而且可以触发自定义的方法。默认的返回按钮动作是popViewController,我们可以修改为其他动作。

  这个过程大概分为4个步骤:

  1、隐藏默认返回按钮,这是通过设置navigationItem的hidesBackButton为YES做到的:

  // 隐藏默认的"返回"按钮

  [self.navigationItemsetHidesBackButton:YES];

  2、自定义一个BarButtonItem。首先,我们定制一个UIButton。 这个UIButton用buttonWithType:UIButtonTypeCustom方法初始化。然后用setBarckgroundImage方法定制按钮的背景图片,用addTarget方法指定按钮的事件处理方法。这样我们就获得了一个完全定制的Button。BarButtonItem有一个initWithCustomView:的初始化方法。我们可以把一个定制的视图(比如我们定制的Button)作为这个方法的小程序参数,构建出一个BarButtonItem。

  // 自定义导航栏的"返回"按钮

  UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

  btn.frame = CGRectMake(15, 5, 38, 38);

  [btn setBackgroundImage:[UIImageimageNamed:@"按钮-返回1.png"] forState:UIControlStateNormal];

  [btn addTarget: selfaction: @selector(goBackAction) forControlEvents: UIControlEventTouchUpInside];

  UIBarButtonItem*back=[[UIBarButtonItemalloc]initWithCustomView:btn];

  3、把BarButtonItem 设置为 navigationItem的leftBarButton。

  // 设置导航栏的leftButton

  self.navigationItem.leftBarButtonItem=back;

  4、编写Button的事件代码。

  -(void)goBackAction{

  // 在这里增加返回按钮的自定义动作

  [self.navigationControllerpopViewControllerAnimated:YES];

  }

  以上四个步骤就是关于微信小程序导航栏返回的全部步骤了,还是挺详细的,希望大家参照上述的流程和源代码都能开发成功,想要获取更多相关资料请关注微信小程序素材网。

  

  微信小程序顶部导航栏开发代码

  微信小程序底部导航栏怎么开发

  微信小程序能隐藏头部导航栏吗?