Swift - 重写导航栏返回按钮

// 重写导航栏返回按钮方法

func configBackBtn() -> Void {

// 返回按钮

let backButton = UIButton(type: .custom)

// 给按钮设置返回箭头图片

backButton.setImage(UIImage(named: "NavigationBar_goBack_icon"), for: .normal)

// 设置frame

backButton.frame = CGRect(x: 200, y: 13, width: 18, height: 18)

backButton.addTarget(self, action: #selector(back), for: .touchUpInside)

// 自定义导航栏的UIBarButtonItem类型的按钮

let backView = UIBarButtonItem(customView: backButton)

// 重要方法,用来调整自定义返回view距离左边的距离

let barButtonItem = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

barButtonItem.width = -5

// 返回按钮设置成功

navigationItem.leftBarButtonItems = [barButtonItem, backView]

}

时间: 08-14

Swift - 重写导航栏返回按钮的相关文章

设置导航栏返回按钮的箭头颜色

返回按钮部分默认是蓝色,如有两个controller,A和B,其中A跳往B.在A中有 ViewControllerB *BVc = [[WeChatSearchViewController alloc]init]; [self.navigationController pushViewController:BVc animated:YES]; 那么有两种方式可以修改①可以在B中(不是A)的viewDidLoad或viewWillAppear写 self.navigationController.

iOS不得姐项目--appearance的妙用,再一次设置导航栏返回按钮,导航栏左右按钮的封装(巧用分类)

一.UI_APPEARANCE_SELECTOR 彩票项目中appearance的用法一直没有搞明白,这次通过第二个项目中老师的讲解,更深一层次的了解到了很多关于appearance的作用以及使用方法. 在iOS属性后有UI_APPEARANCE_SELECTOR标志都可以一次性统一设置.这种情况还有很多.比如说统一设置UITabbarItem的文字颜色 通过appearance来同意设置属性最好是在+ (void)initialize;方法里面. 项目中设置导航栏背景图片的代码: 项目中设置T

自定义导航栏标题按钮

自定义标题栏按钮 @implementation SNTitleButton - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { //图片居中 self.imageView.contentMode = UIViewContentModeCenter; //字体居右 self.titleLabel.textAlignment = NSTextAlignmentRight; //字体

iOS 为导航栏自定义按钮图案Button Image 运行出来的颜色与原本颜色不一样 -解决方案

为相机制作闪光灯,在导航栏自定义了"闪光"图案,希望点击时变换图片,但是一直没有改变,原来是因为设置了Global Tint的颜色,所以系统会自动把图片的颜色改为Global Tint的颜色. 解决方案,设置图片时,添加:imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal 源码: - (void) setFlashOn:(BOOL)isOn { if (self.captureDevice.hasFlash) { UIIm

导航栏切换按钮事件

同事写的一段代码,不是很难,但感觉不错保存起来 // 导航栏切换按钮事件 $('ul.main-tab>li').on('mousedown', function() { var $this = $(this), $box = $('.main-tab-content'), i = $this.index(); if ($this.hasClass('on')) { return false; } switch (i) { case 0: break; case 1: updateRadarTa

自定义导航栏返回时的滑动手势处理

现在使用默认模板创建的iOS App都支持手势返回功能,如果导航栏的返回按钮是自定义的那么则会失效,也可以参考这里手动设置无效. if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } 如果是因为自定义导航按钮而导

iOS开发——导航控制器返回按钮,返回到指定界面

大家都知道导航控制器中的返回按钮,会返回到上一个页面,但有时项目中有特殊要求,需要返回到指定的页面,我是这么实现的. 1. 首先是监听这个返回按钮的方法,我是通过自定义返回按钮监听的. //    自定义返回按钮 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back-1x"] style:(UIBarButtonItemStyleD

iOS 添加导航栏两侧按钮

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"首页" style:UIBarButtonItemStyleBordered target:self action:@selector(popToRootView)] ; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitl

一次性解决导航栏的所有问题

系统默认导航栏的返回按钮和返回方式 在默认情况下,导航栏返回按钮长这个样子 导航栏默认返回按钮 导航栏左上角的返回按钮,其文本默认为上一个ViewController的标题,如果上一个ViewController没有标题,则为Back(中文环境下为"返回"). 在默认情况下,导航栏返回的点击交互和滑动交互如下 默认导航栏交互 这些东西不需要任何设置和操作,因此也没有其他需要说明的地方. 自定义左上角的返回按钮 绝大多数情况下,我们都需要根据产品需求自定义左上角的返回按钮,虽然这对大多数

统一设置导航栏的皮肤颜色

+ (void)initialize{ UINavigationBar *bar = [UINavigationBar appearance]; //    [self buttonImageFromColor:[UIColor blackColor]] UIImage *image = [UIImage imageNamed:@"img_nav_topbar"]; [bar setBackgroundImage:image forBarMetrics:UIBarMetricsDefa