`
woniu1983
  • 浏览: 165664 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

让navigationItem.leftBarButtonItem具有backBarButtonItem的外观样式

    博客分类:
  • iOS
阅读更多
需求是:点击返回按钮,自动保存设定,然后返回前一个画面,返回按钮必须使用带左箭头的那种,用过iOS的都懂的。

我一开始用的是iOS默认的backBarButtonItem, 但是发现它不能接收事件(Action),即便我设置了target以及Action也完全不起作用。 用leftBarButtonItem吧,倒是可以接收事件了,但是样式无法成为返回按钮那种箭头样子。

苦恼, 最后多次尝试,网上也翻了N遍终于找到了一种方法:
不需要额外制作图片,代码如下:

UIButton *backButton = [UIButton buttonWithType:101];
    [backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
    [backButton setTitle:cancelText forState:UIControlStateNormal];
    
    UIBarButtonItem *backItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease];
    self.navigationItem.leftBarButtonItem = backItem;


保存或者其他Action在back方法中实现杰克
分享到:
评论
1 楼 kingboyrang 2015-03-24  
没效果呢?

相关推荐

    BSYTheSideBar

    self.navigationItem.leftBarButtonItem = [self.left addLeft]; self.left.left.selected = NO; [self.left .left addTarget:self action:@selector(leftclick:) forControlEvents:UIControlEventTouchUpInside]; ...

    自定义UINavigationItem.titleView显示

    titleView会根据leftBarButtonItem和rightBarButtonItem调整自己的位置和大小。这就产生了居中显示的问题,当rightBarButtonItem没有被设置的时候,titleView由于偏大而靠右显示。此时可以设置rightBarButtonItem,...

    IOS 改变导航栏返回按钮的标题实例详解

    在进入第二级页面后返回按钮leftButtonItem的title就会变得很长,对NavigationBar空间占用很大,而且不美观,于是使用代码对leftButtonItem的title文本进行修改,无论是设置self.navigationItem.leftBarButtonItem....

    ETFlatBarButtonItem:导航栏上的简单按钮可实现更高级别的自定义

    self.navigationItem.leftBarButtonItem = [[ETFlatBarButtonItem alloc] initCustomButtonWithImage:[UIImage imageNamed:@"cancel-32"] frame:CGRectMake(-6, 0, 48.0, 36.0) insets:UIEdgeInsetsMake(5.0, 11.0,...

    YZIonIconsHelper:一些类和类别有助于更轻松地使用 Ion Icons (pod name

    YZionIconsHelper 一些类和类别有助于更轻松地使用 Ion Icons(sweetmandm/ionicons-...self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[IonIcons imageWithIcon:icon_navicon

    iOS开发之导航栏各种右滑返回失效的解决方法汇总

    当你重写 self.navigationItem.leftBarButtonItem 之后,自带的返回按钮就会被覆盖,右滑返回就会失效,解决办法只要加入下面这句代码即可。 - (void)viewDidLoad { [super viewDidLoad]; // 解决右滑返回失效...

    CXDevelopTools:CXDevelopTools 包含了我在实际开发中用到的各种小工具。 它可以使开发更加容易和快速

    self.navigationController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTitle:@" :grinning_face_with_smiling_eyes: " NorImage:nil HigImage:nil Target:self Action:@selector(leftIt

    UINavigationController极简单的例子

    leftBarButtonItem与backBarButtonItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49079251 ViewController中[self setTtile]与[self.navigationItem setTitle]的区别 - ...

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

    先给大家展示下效果图:  1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在...self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@王俨 style:UIBarButtonIte

    UINavigationController的最简单例子

    leftBarButtonItem与backBarButtonItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49079251 ViewController中[self setTtile]与[self.navigationItem setTitle]的区别 - ...

    ios-UI界面.zip

    self.navigationItem.titleView=av;在AppDelegate.m 创建一个导航栏 ViewController *nc=[[ViewController alloc]init]; UINavigationController *vc=[[UINavigationController alloc]initWithRootViewController...

    UINavigationItem-Margin:UINavigationItem的边距

    navigationItem.leftMargin = 0 ; navigationItem.rightMargin = 0 ; 哇,保证金已经消失了。 即使您可以这样做: navigationItem.leftMargin = 50 ; navigationItem.rightMargin = 20 ; 看起来很丑但是可以用。...

    ios-iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码).zip

    [_badge2 addToBarButtonItem:self.navigationItem.rightBarButtonItem]; //TabBarItem上加角标 _badge3 = [[LFBadge alloc] init]; [_badge3 addToTabBarItem:self.tabBarItem]; //赋值 //@"0"或者nil隐藏...

    ios-RSTabBarControllers.zip

    UITabBarController的简单使用 常规的UITabBarController; 带有自定义按钮的UITabBarController,根据开源中国iOS客户端源码精简获取;...设置一致的标题或者通过self.navigationItem.title设置控制器的title;

    iphone开发基础控件UINavigationController

    navigationItem中包含leftBarButtonItem,rightBarButtonItem,backBarButtonItem,title和prompt等属性 UINavigation中的按钮其实就以前学过的UIBarButtonItem中的按钮,系统自带大概右20种左右,当然你也可以自己定义...

    ios8 Tablevew 新特性

    UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVibrancyEffect *vibrancyEffect = [UIVibrancyEffect ... self.navigationItem.rightBarButtonItem =self.editButtonItem;

    ZXing QRCode Scan

    wid_ctrl.navigationItem.title = @"扫瞄二维码"; wid_ctrl.hidesBottomBarWhenPushed = YES; NSURL *file_url = [[NSURL alloc] initFileURLWithPath:[NSString main_bundle_file_path:@"beep-beep.caf"]]; wid...

    iOS app 右滑返回操作的两种方法

    但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。) 在A界面: - (void)viewDidAppear:(BOOL)animated { self.navigationController.interactivePopGestureRecognizer.delegate = (id...

    NNNavigationBar:NNNavigationBar 实现导航条背景渐变过渡动画的轻量级框架

    本库用于实现UINavigationBar背景渐变过渡动画。 可能会遇到的问题 UINavigationBar 上的一个系统 bug ( An apple bug on the UINavigationBar) bug 描述:导航右滑返回手势,概率性的... self.navigationItem.right

    一步一步实现iOS主题皮肤切换效果

    主题切换就是根据用户设置不同的主题,来动态改变用户的界面,通常会改变navigationBar背景图片、tabBar背景图片、tabBar中的按钮的图片和选中的背景图片、navigationItem.title 标题的字体颜色、UI中其他元素控件 ...

Global site tag (gtag.js) - Google Analytics