`
woniu1983
  • 浏览: 167767 次
  • 性别: 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  
没效果呢?

相关推荐

    封装导航栏item

    3. 自定义样式:如果需要自定义Item的外观,如颜色、字体、图片等,可以在封装方法中加入这些定制逻辑。 通过这样的封装,我们可以有效地管理和控制导航栏Item,使代码结构更加清晰,同时提高了开发效率。在实际...

    create_navigationBar_for_code

    navigationItem.leftBarButtonItem = backBarButtonItem ``` 5. **隐藏和显示NavigationBar** 有时候,你可能希望在某些场景下隐藏或显示navigationBar。这可以通过`isHidden`属性实现: ```swift ...

    使用导航控制器的笔记

    self.navigationItem.backBarButtonItem = item; ``` #### 三、设置导航栏左右两侧按钮 除了设置标题外,还可以通过导航控制器来添加导航栏左右两侧的按钮,从而实现更丰富的功能。 1. **使用系统提供的图标**:...

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

    2. 如果希望返回按钮不仅有文字,还具有特定样式,例如设置图片,可以创建一个自定义的`UIBarButtonItem`。如下所示,我们可以创建一个带有“返回”文字和动作的按钮: ```swift let backButton = UIBarButtonItem...

    iOS 自定义UINavigationController和UITabBarController

    3. **自定义返回按钮**:默认的返回按钮是系统提供的,但可以通过设置`navigationItem.leftBarButtonItem`或`navigationItem.backBarButtonItem`来自定义。 4. **拦截导航操作**:可以重写`pushViewController:...

    ViewController的使用方法

    当需要配置NavigationItem时,可以设置leftBarButtonItem、rightBarButtonItem、backBarButtonItem、title以及prompt等属性。其中,leftBarButtonItem、rightBarButtonItem和backBarButtonItem都是UIBarButtonItem...

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

    在A控制器中push到B控制器时,我们可以在A控制器中设置`self.navigationItem.backBarButtonItem`,以定制B控制器显示的返回按钮文字,如以下代码所示: ```swift self.navigationItem.backBarButtonItem = [...

    关于iOS导航栏返回按钮问题的解决方法

    navigationItem.backBarButtonItem = backBtn ``` 这段代码创建了一个无文本的`UIBarButtonItem`,并将其设置为当前控制器的`backBarButtonItem`,这样当此控制器被推入导航栈时,其父控制器的返回按钮就会显示为...

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

    self.navigationItem.leftBarButtonItem = backItem; ``` 3. 在B页面中,重新启用交互式弹出手势,使得右滑返回功能生效: ```objc self.navigationController.interactivePopGestureRecognizer.enabled = YES;...

    BSYItem:UIBarButtonItem 右或左

    - **更改外观**: 使用`tintColor`属性可以改变按钮的前景色,`backIndicatorTransitionMaskImage`和`backBarButtonItem`则用于自定义返回按钮的样式。 总之,`UIBarButtonItem`在iOS开发中扮演着不可或缺的角色,它...

    UINavigationController使用详解

    - `backBarButtonItem`:定义返回按钮的样式,当从当前视图控制器返回上一个视图控制器时显示。 - `title`:设置导航栏中央的标题文本。 - `prompt`:提供额外的提示信息,设置后会导致导航栏高度增加30像素至74...

Global site tag (gtag.js) - Google Analytics