`
auauau
  • 浏览: 172686 次
社区版块
存档分类
最新评论

设定UINavigationController返回按钮

    博客分类:
  • iOS
阅读更多
    //设定标题
    self.navigationItem.title = @"title";
    //设定返回按钮
    self.navigationItem.backBarButtonItem =
    [[[UIBarButtonItem alloc] initWithTitle:@"返回"
                                      style:UIBarButtonItemStylePlain
                                     target:nil
                                     action:nil] autorelease];

原文: http://www.dimzzy.com/blog/2010/11/custom-back-button-title-when-using-uinavigationcontroller/


之前大家是否疑惑为什么设置了类似这样的代码
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]

                                                                  initWithTitle:"返回" 

                                                                  style:UIBarButtonItemStylePlain 

                                                                  target:self 

                                                                  action:nil];

self.navigationItem.backBarButtonItem = backButton;

复制代码界面上backButton并没出现“返回”的字样

其实是被leftBarButtonItem和rightBarButtonItem的设置方法所迷惑了
lleftBarButtonItem和rightBarButtonItem设置的是本级页面上的BarButtonItem,而backBarButtonItem设置的是下一级页面上的BarButtonItem
比如:两个ViewController,主A和子B,我们想在A上显示“刷新”的右BarButton,B上的BackButton显示为“撤退”
就应该在A的viewDidLoad类似方法中写:
UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc]

                                                                  initWithTitle:"刷新" 

                                                                  style:UIBarButtonItemStylePlain 

                                                                  target:self 

                                                                  action:nil];
self.navigationItem.rightBarButtonItem = refreshButton;

UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]

                                                                  initWithTitle:"撤退" 

                                                                  style:UIBarButtonItemStylePlain 

                                                                  target:self 

                                                                  action:nil];

self.navigationItem.backBarButtonItem = cancelButton;

复制代码而B不需要做任何处理
然后ApushB就可以了
分享到:
评论

相关推荐

    UINavigationController返回按钮的事件

    上传的demo关于UINavigationController中back按钮的重写方法, UINavigationController的back按妞本身是没有监听方法的,但是我们通过添加类目可以使...让我们能在UINavigationController触发返回按钮时做些必要的操作.

    UINavigationController返回手势失效问题

    * 从iOS7开始,系统为UINavigationController提供了一个interactivePopGestureRecognizer用于右滑返回(pop),但是,如果自定了返回按钮或者隐藏了navigationBar,该手势就失效了。 ## 原因 * 自定义返回按钮或者隐藏...

    swift-系统返回按钮事件拦截Swift版本

    首先,我们需要理解的是,iOS中的导航控制器(UINavigationController)默认提供了左侧的返回按钮,这个按钮的行为通常是返回上一级视图控制器。在Swift中,我们可以通过继承UINavigationController并重写其`...

    iOS 使用UINavigationController进行页面间跳转

    默认情况下,`UINavigationController`会显示一个导航栏,包含返回按钮和其他可定制的项目。导航栏上的按钮和标题可以随着内容的变化而变化,这使得用户可以清晰地了解当前所处的层级。 在实际使用中,我们通常在`...

    UINavigationController demo

    `UINavigationController`还提供了其他高级功能,如pushViewController(_:animated:)用于将新的视图控制器推入导航堆栈,popViewController(animated:)用于弹出当前视图控制器,以及popToRootViewController...

    ios-自定义导航全局返回按钮.zip

    - 要实现全局的自定义返回按钮,可以创建一个自定义的`UINavigationController`子类,并覆盖其`pushViewController:animated:`方法。在这个方法中,我们可以在pushViewController之前设置自定义的返回按钮。 - ...

    UINavigationController Demo代码

    4. **导航条项(UIBarButtonItem)**:`UIBarButtonItem`是导航栏上的元素,如返回按钮、自定义按钮等。你可以通过`navigationItem.leftBarButtonItem`和`rightBarButtonItem`来设置。 5. **栈操作**:`...

    IOS7 UINavigationController滑动Demo

    在iOS 7之前,用户通常通过导航栏上的返回按钮或者手势来实现页面间的切换。然而,随着iOS 7的发布,苹果引入了全新的交互设计,使得用户可以通过在屏幕边缘滑动来实现页面的返回,这一特性大大增强了用户体验。"IOS...

    UINavigationController+UITabBarController框架

    我们写iOS项目的时候,基本都是一个UINavigationController套一个UITabBarController的形式,就是上面一个导航栏,下面几个按钮的工具条的形式。我写了几个应用,发现如果每次都重新写的话完全就是浪费精力和时间,...

    UINavigationController

    2. **导航栏(NavigationBar)**:`UINavigationController`自带一个导航栏,显示在屏幕的顶部,通常包含一个返回按钮(如果有的话)、当前页面的标题以及可选的其他自定义按钮。 二、`UINavigationController`的...

    ios-仿微信有多级网页时,显示返回跟关闭按钮.zip

    点击关闭按钮时,需要弹出整个WebViewController的堆栈,返回到前一个非WebViewController的视图,这可能涉及到对`UINavigationController`的堆栈操作。 4. **页面跳转逻辑**: 当用户点击链接进入新的网页时,...

    UINavigationController 显示隐藏

    `UINavigationController`有一个默认的导航栏,可以显示标题、返回按钮等。你可以通过以下方式控制它的显示: ```swift navigationController.navigationBar.isHidden = true // 隐藏导航栏 ...

    UITabBarController和UINavigationController混用

    在iOS应用开发中,`UITabBarController` 和 `UINavigationController` 是两种常用且重要的控制器,它们各自负责不同的界面展示逻辑。`UITabBarController` 通常用于实现底部标签栏切换不同功能模块,而 `...

    uinavigationcontroller用法.rar

    - 它提供了一个导航栏(UINavigationBar),展示在屏幕顶部,可以显示当前显示的ViewController的标题,并允许用户通过“返回”按钮导航到上一级页面。 2. **创建uinavigationcontroller**: - 可以在storyboard...

    iOS 自定义返回按钮保留系统滑动返回功能

    通常,当我们使用UINavigationController进行页面间的推送时,系统会自动提供一个返回按钮,并且支持用户通过左滑手势返回上一级界面。然而,一旦我们自定义了导航栏的leftBarButtonItem,系统默认的滑动返回手势...

    页面跳转 UITabBarController+UINavigationController+UIViewController

    在`UINavigationController`中,顶部的控制器是当前显示的控制器,用户可以按住右上角的“返回”按钮或者通过手势滑动来返回上一级控制器。你可以通过`pushViewController:animated:`方法将新的控制器推入堆栈,或者...

    UInavigationController

    UInavigationController笔记

    UINavigationController详解与使用(二)页面切换和segmentedController

    若想返回到前一个视图控制器,可以使用`popViewControllerAnimated:`方法。这个过程不仅实现了页面的切换,还提供了常见的动画效果。 页面切换的过程中,`UINavigationController`维护着一个栈,栈顶的视图控制器...

    UINavigationController Demo

    在`UINavigationControllerDemo`的示例中,开发者可能会展示如何使用`UINavigationController` 进行页面间的过渡动画,如何自定义导航栏外观,以及如何处理返回按钮的点击事件等。通过阅读博客链接...

Global site tag (gtag.js) - Google Analytics