`
janedoneway
  • 浏览: 582164 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

自定义导航栏上的返回按钮

 
阅读更多

 

导航栏的按钮,右边的按钮是可以自己随意添加的。但左边的返回按钮怎么定制?你会说,添加一个自己的按钮呗!你可以试试看,这样行不行。

正确的答案是重载UINavigationController类的pushViewController:animated方法。

#import <UIKit/UIKit.h>

@interface MyNavigationController: UINavigationController {

}

@end

 

#import "MyNavigationController.h"

 

@implementation MyNavigationController

-(void)popself

{

    [self popViewControllerAnimated:YES];

}

-(UIBarButtonItem*) createBackButton

{

return [[UIBarButtonItem alloc]

initWithTitle:@"返回"

style:UIBarButtonItemStyleBordered

target:self

action:@selector(popself)];

}

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

{

    [super pushViewController:viewControlleranimated:animated];

if (viewController.navigationItem.leftBarButtonItem== nil && [self.viewControllers count] > 1) {

        viewController.navigationItem.leftBarButtonItem =[self createBackButton];

    }

}

@end

 

使用MyNavigationController替换UINavigationController。或者直接创建一个UINavigationController的新类别——不过,这招太毒了。会影响到所有的导航控制器。做人还是留一线的好。

作者:kmyhy的专栏

分享到:
评论

相关推荐

    IOS 自定义导航栏 和表格 学习笔记

    在iOS开发中,自定义导航栏(Navigation Bar)和表格(TableView)是两个非常重要的组件,它们被广泛用于构建各种用户界面。这篇学习笔记将深入探讨如何在iOS应用中实现自定义导航栏以及如何有效利用表格展示数据。 ...

    微信小程序(uniapp + uView)自定义导航栏

    微信小程序(uniapp + uView)自定义导航栏

    header-navbar-小程序自定义导航栏,左上角胶囊按钮返回|首页详解.zip

    小程序自定义导航栏,左上角胶囊按钮返回|首页详解详情介绍地址:https://juejin.im/post/5d0219536fb9a07ef06f8eab主要API获取设备信息wx.getSystemInfo获得胶囊按钮坐标信息wx.getMenuButtonBoundingClientRect...

    自定义导航栏返回按钮backBarButtonItem的标题对应的Demo

    在iOS应用开发中,导航栏(Navigation Bar)...总之,自定义导航栏返回按钮的标题是提升iOS应用用户体验的一个有效手段。通过以上步骤,开发者可以轻松地调整返回按钮的外观和行为,使之与应用的整体设计风格保持一致。

    iOS自定义导航栏

    - 自定义导航栏的item,如标题、按钮,可以通过`setTitleTextAttributes:`、`setBackButtonTitlePositionAdjustment:`等方法实现。 3. **自定义行为**: - 重写`layoutSubviews()`方法,调整子视图的位置和大小。...

    ios-自定义导航栏.zip

    本资源“ios-自定义导航栏.zip”提供了一个已经封装好的自定义导航栏解决方案,适合新手开发者快速使用。下面我们将深入探讨自定义导航栏在iOS开发中的实现方法和相关知识点。 1. **UINavigationController**:这是...

    自定义导航栏

    1. **创建布局文件**:自定义导航栏通常会包含一些UI元素,如标题、返回按钮、菜单等。这些元素可以在XML布局文件中定义,然后在自定义控件类中引用。 2. **创建自定义View类**:创建一个新的Java类,继承自`...

    详解微信小程序胶囊按钮返回|首页自定义导航栏功能

    在微信小程序开发中,自定义导航栏是一项重要的功能,它能提供更加个性化和符合业务需求的界面设计。本文将深入探讨如何实现微信小程序胶囊按钮返回以及首页自定义导航栏的功能。 首先,我们要理解为什么要自定义...

    微信小程序自定义头部标题导航栏

    * navIcon: 用户自定义导航按钮图标路径 * navHome: 导航按钮为主页home,与返回back互斥,默认false显示返回back * 外部样式类:(使用时注意权重,添加外部样式类无效果的时候,给类加点权重就可以了) * ...

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

    `ios-自定义导航全局返回按钮.zip`这个资源包关注的是如何在iOS应用中自定义导航栏的返回按钮,并实现全局生效的效果。下面我们将详细探讨这一主题。 首先,我们要了解,iOS中的导航控制器默认会提供一个左上角的...

    微信小程序自定义导航栏(模板化)

    前段时间写过一篇关于微信小程序自定义导航栏的自定义组件,但是对于分享页有一定的bug 这次用模板化又搞了一遍 优化了下Android与IOS 显示更接近微信原生的导航栏,以及修复分享页面不显示返回首页按钮 如果大家不...

    OC-UINavigation自定义导航栏

    1. **自定义导航栏背景**:可以设置导航栏的背景颜色、图片,甚至添加渐变效果。这通常通过设置 `navigationBar.barTintColor`、`navigationBar.setBackgroundImage` 或 `CAGradientLayer` 实现。 2. **自定义导航...

    自定义导航栏背景颜色

    在本教程中,我们将深入探讨如何自定义导航栏的背景颜色,使应用界面更加个性化和符合品牌形象。 在iOS开发中,我们使用Swift和UIKit框架来实现这个功能。首先,我们需要导入UIKit库: ```swift import UIKit ``` ...

    微信小程序自定义导航栏

    8. **适配不同设备**:考虑到不同设备的屏幕尺寸和分辨率,开发者应确保自定义导航栏在各种设备上都能正常显示。可以利用微信小程序的响应式布局功能,如`rpx`单位和`flex`布局,来确保导航栏在不同屏幕尺寸下都能...

    小程序自定义导航,下拉刷新,以及页面跳转功能

    综上所述,小程序自定义导航栏、下拉刷新和页面跳转是小程序开发中的基础功能,理解并熟练运用这些知识点可以提升小程序的用户体验和功能完整性。在实际开发中,开发者还需要注意微信小程序的更新和API变更,以便...

    37.自定义导航栏开发(资料)

    本教程将深入讲解如何在 Uni-App 框架中自定义导航栏,以实现更个性化和高效的应用交互体验。 首先,让我们了解什么是 Uni-App。Uni-App 是一个基于 Vue.js 的多端开发框架,它允许开发者编写一次代码,即可运行在...

    每个视图控制器的自定义导航栏.zip

    在提供的压缩包中,可能包含了一个名为`EachNavigationBar_master.zip`的项目文件,这个文件可能是一个示例项目,演示了如何在每个视图控制器中实现自定义导航栏。通过打开并运行这个项目,你可以直观地看到各种...

    微信小程序自定义导航栏实例代码

    通过自定义导航栏,我们可以实现各平台页面标题的一致性、个性化展示,以及对左上角点击事件的控制,同时优化深层级页面的返回体验。 自定义导航栏的第一步是控制导航栏的权限。在`app.json`文件中的`window`配置项...

    自定义导航栏,可以添加左中右barbutton

    在iOS应用开发中,自定义导航栏是一种常见的需求,它能提供独特的用户界面风格和增强用户体验。本项目标题提到的“自定义导航栏,可以添加左中右barbutton”,指的是开发者通过编程方式来构建一个非标准的导航栏,...

Global site tag (gtag.js) - Google Analytics