首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以编程方式将UIBarButtonItem目标设置为以前的视图控制器

UIBarButtonItem是iOS开发中的一个控件,用于在导航栏或工具栏中显示按钮。通过编程方式将UIBarButtonItem的目标设置为以前的视图控制器可以实现返回上一个界面的功能。

在iOS开发中,可以使用以下代码将UIBarButtonItem的目标设置为以前的视图控制器:

代码语言:swift
复制
// Swift语言示例
let backButton = UIBarButtonItem(title: "返回", style: .plain, target: self, action: #selector(backButtonTapped))
navigationItem.leftBarButtonItem = backButton

@objc func backButtonTapped() {
    navigationController?.popViewController(animated: true)
}
代码语言:objective-c
复制
// Objective-C语言示例
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonTapped)];
self.navigationItem.leftBarButtonItem = backButton;

- (void)backButtonTapped {
    [self.navigationController popViewControllerAnimated:YES];
}

上述代码中,我们创建了一个UIBarButtonItem对象,并设置了标题为"返回",样式为plain。然后,将目标(target)设置为当前视图控制器(self),并指定了一个名为backButtonTapped的方法作为按钮点击事件的响应方法。最后,将UIBarButtonItem对象赋值给导航栏的左侧按钮(leftBarButtonItem)。

当用户点击该按钮时,backButtonTapped方法会被调用,通过导航控制器的popViewController方法返回到以前的视图控制器。

这种方式适用于需要在导航栏或工具栏中添加返回按钮,并实现返回上一个界面的功能的场景。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

UINavigationController

使用步骤 初始化UINavigationController 设置UIWindowrootViewControllerUINavigationController 根据具体情况,通过push方法添加对应个数控制器...UIBarButtonItem *leftBarButtonItem; UIBarButtonItem *rightBarButtonItem //右上角视图 @property(nonatomic,...,建议使用“自动型Segue” 手动型:需要通过写代码手动执行Segue,才能完成界面跳转 按住Control键,从来源控制器拖线到目标控制器 手动型Segue需要设置一个标识 在恰当时刻,使用perform...(来源控制器) 新建并且设置Segue对象destinationViewController(目标控制器) 页面跳转前操作 调用sourceViewController下面方法,做一些跳转前准备工作并且传入创建好...presentViewController方法destinationViewController展示出来 Modal 除了push之外,还有另外一种控制器切换方式,那就是Modal 任何控制器都能通过

1.4K60

【IOS开发基础系列】Navigation页面导航专题

http://www.cnblogs.com/PleaseInputEnglish/p/3498032.html 2.5.2 导航条设置半透明         NavigationBar设置透明(...仅指定视图控制器进行透明处理),步骤如下:     1.在视图控制器头文件中实现UINavigationControllerDelegate,例如: @interface PicturePreviewViewController...{        //进入其他视图控制器        self.navigationController.navigationBar.alpha = 1;        //背景颜色设置系统默认颜色...2.5.4 隐藏返回按钮 [self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航栏标题字体颜色和大小     方法一:(自定义视图方法,...一般人也会采用这样方式)         就是在导航向上添加一个titleView,可以使用一个label,再设置label背景颜色透明,字体什么设置就很简单了。

43520
  • 【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中基本文本和button以及各种跳跃

    当然可用设置导航条标题方法setTitle,当然你也能够直接把文字换成一个视图。...须要创建两个视图控制器(ViewController根视图控制器,SecondViewController子视图控制器),然后放在导航控制器栈中。...,且能够加入随意视图,以右边例 //加入多个事实上就是rightBarButtonItems属性,注意另一个rightBarButtonItem,前者是赋予一个UIBarButtonItem对象数组...,所谓跳转,事实上就是往导航控制器栈中PUSH或者POP一个视图控制器,这样在最上面的视图控制器就变了,这样视图也跟着变了,由于仅仅显示在栈顶得那个视图控制器视图 //所以(1)控制所谓跳转...事实上是导航控制器在控制,在里面的元素都能够通过navigationController属性获取到它们所在导航控制器 //所以(2)获取到导航控制器之后,使用Push那个方法,往栈里面放一个视图控制器

    2.3K10

    UI篇-UINavigationController之易忘补充

    上面设置YES,下面的NO 关于导航返回:     首先ios7 之后只要使用系统自带导航效果就有手动滑动返回效果。但是当自定义返回按钮时,这种手动滑动返回效果就没有了。...状态栏隐藏就可实现这样不错页面效果 PS:  backBarButtonItem自定义事件是不会被执行 backItem = [[UIBarButtonItem alloc] initWithTitle...:action:设置视图触发事件 tintColor  设置tintColor可以影响添加在导航条上系统样式按钮颜色  title: 标题  titleView :标题视图  leftBarButtonItem...每个视图控制器都有一个navigationItem属性,navigationItem中设置做按钮、右按钮、标题等,会随着控制器显示,也显示到navigationBar上 我们来看一下这些名词是什么意思...navigationItem包含了bar视图全部元素(如title,tileview,backBarButtonItem等),受当前viewcontroller管理,即bar形成整个nv导航视图,然后每个

    2.1K20

    IOS开发之TabBarItem&NavigationBarItem

    下面的视图控制器之间关系是如何用storyboard拖出来,在之前博客中有所提及,在这小编就不赘述了。   ViewController之间关系大致入下图: ?   ...presentViewController:myTabBarController animated:YES completion:^{ 15 }]; 16 } 17 }     2.如何给我们新建视图控制器关联我们新建视图控制器类呢...其实在我们storyboard中还是蛮简单,在storyboard选择我们要关联视图控制器,在 Class中选中我们新建视图控制器类即可。...我们可以通过storyboard通过拖拽方式来配置我们NavigationBar 也可以通过手写代码方式进行配置:     (1)用storyboard来我们Navigation Bar添加按钮...设置title,或者titleView, 也是用拖拽方式加配置相应属性完成,在这就不在赘述,下面给入用手动添加方法,下面的代码是给我们titleView赋值ImageView,我们还可以给他赋值别的控件

    1.4K80

    iOS:分割控制器UISplitViewcontroller

    分割控制器UISplitViewController 功能:它也是ipad一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边为主控制器,右边详细控制器,主控制器可以根据需要显示或隐藏...: 在故事板布局样式截图为: 下面我们就通过纯代码方式创建如下: 1、创建两个控制器类,一个为主控制器类MasterViewController,一个详细控制器类DetailViewController...@end 创建分割控制器、主控制器、详细控制器,并设置它们之间关系,以及设置分割控制器代理 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions...Master导航栏和按钮,并设置表格视图数据源和代理 - (void)viewDidLoad { [super viewDidLoad]; //创建UITableView...- (void)viewDidLoad { [super viewDidLoad]; //设置视图颜色白色 [self.view setBackgroundColor:[UIColor

    2K30

    iOS中UIPopoverController使用详解

    iOS中UIPopoverController使用详解 一、引言         UIPopoverController是Pad设备中常用一种视图控制器,其在UI表现上在当前视图控制器上面弹出一个子视图控制器...:(UIViewController *)viewController; 创建出控制器后,调用如下方法可以控制器弹出: //这个方法控制器一个CGRect区域基准弹出 /* UIPopoverArrowDirection...,点击界面上其他位置,视图控制器会被隐藏 如果需要当视图控制爱弹出时界面上其他控件依然可以进行用户交互,则需要将这些UI控件设置进这个数组中 */ @property (nullable, nonatomic...对象popoverBacjgroundViewClass属性可以一个自定义类作为控制器背景视图,需要注意,此自定义类必须继承自UIPopoverBackgroundView,并且子类必须覆写父类中一些列方法...@property (nullable, nonatomic, strong) UIBarButtonItem *barButtonItem; //设置可以进行用户交互视图 @property (nullable

    1.8K20

    控制器和应用数据存储

    1、UINavigationController, 继承UIViewController,UINavigationController形式保存子控制器     1)把控制器添加到导航控制器栈里有两种方式...第二种方式:[nav pushViewController:control animated:YES];     2)从导航控制器栈里中移出栈顶控制器:- (UIViewController *)popViewControllerAnimated...NSString *title; //左上角视图 @property(nonatomic, retain) UIBarButtonItem *leftBarButtonItem; //右上角视图...) id sourceViewController; //目标控制器 @property(nonatomic, readonly) id destinationViewController; 执行...,例如给下一个控制器传值 3、ios应用常用数据存储方式主要有:    1)、plist (利用xml属性列表归档NSDictionary、NSArray、NSData、NSNumber等系统类型数据

    80530

    UI篇-UIResponder之事件传递和响应精析

    UIResponder是所有响应者对象基类,它不仅为事件处理,而且也常见响应者行为定义编程接口。...响应者链:由一系列“下一个响应者”组成 其顺序如下: 1.iOS系统在处理事件时,通过UIApplication对象和每个UIWindow对象sendEvent:方法事件消息形式分发给具体处理此事件第一响应者...如果第一响应者没有进行处理,第一响应者事件处理事件责任传递给下一个,更高级对象,即当前responder对象nextResponder。...3.类似地,视图层次中每个后续视图如果不处理事件都首先传递给它视图控制器(如果有的话),然后是它视图。 4.最上层容器视图事件传递给UIWindow对象。...效果图 实现过程解析: 1.自定义一个View设置其颜色橙色,高度200,并设置 self.layer.cornerRadius = 100; self.clipsToBounds = YES

    2.5K30

    iOS导航栏基础效果配置

    标题设置 self.navigationItem.title = @"标题"; 复制代码 正常情况下,控制器标题会默认作为导航标题 前景色 self.navigationController.navigationBar.barTintColor...,则需要在plist文件中添加View controller-based status bar appearance 字段,值NO ,意为不使用控制器管理状态栏。...target:self action:@selector(back)]; 复制代码 //自定义视图 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem...//全局设置导航栏主题,只在AppDelegate中有效, 或者是UINavagaitonController中RootController 中设置有效 - (void)setNavigationControllerAppearance...但是如果用navigationBar.hidden隐藏导航栏,我们可以继续使用navigationBarHidden提供滑动pop效果,如果用navigationBarHidden,这个操作无效;但前者

    1.6K10

    Swift-MVVM 简单演练(一)

    ) 设置控制器 在HQMainViewController中设置四个子控制器 用extension代码拆分 通过反射机制,获取子控制器类名,创建子控制器 设置每个子控制tabBar图片及标题 HQMainViewController...,就设置返回按钮文字控制器title override func pushViewController(_ viewController: UIViewController, animated:...didSet方法达到设置目的。...则可以直接通过addTarget方式视图按钮添加监听方法 这样做代价是耦合度高,控制器视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录时导航按钮 如果单纯在setupVistorView...登录之后才显示别的,因此,我们可以HQBaseViewController中setupUI方法设置成fileprivate不让外界访问到,并且setupTableView设置成外界可以访问,如果需要在登录后控制器里面显示所需样式

    10.3K51

    iOS---iPad开发及iPad特有的特技

    在iOS7及以前得到屏幕旋转方向方法 /** // UIInterfaceOrientation ,屏幕方向 UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown...animateWithDuration:duration animations:^{ }]; } 2.iPad中Modal弹出控制器方式和样式 Modal常见有4种呈现样式 控制器属性 modalPresentationStyle...上 1>设置内容控制器(并需先创建内容控制器) 强调UIPopoverController不是继承UIViewController,也就不具备显示功能,要设置内容,使用initWithContentViewController...设置popView大小(默认控制器有多大就显示多大)(120, 44 * 3) UIPopoverController方法popoverContentSize 内容控制器设置方法 self.preferredContentSize...(位置和尺寸) * @param view rect参数是以view左上角坐标原点(0,0) * @param arrowDirections 箭头方向 * @param

    2.6K70

    UINavigationController 导航控制器概念属性方法

    只是其中管理对象是controller,通过push与pop进行controller切换,UINavigationController是这些控件(UINavigationBar,UINavigationItem...NavigationItem,和NavigationController一样都是用push和pop方式推进推出各自管理东西NavigationItem包含多个UIBarButtonItem NavigationController...,创建一个导航控制器同时设置一个根视图控制器 - (instancetype)initWithRootViewController:(UIViewController *)rootViewController...; 2、设置管理视图控制器 - (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL...)animated; 3、管理视图控制器操作 (1)压入新视图控制器 - (void)pushViewController:(UIViewController *)viewController animated

    2.1K60

    iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

    不要创建一个自定义按钮来触发活动视图控制器。用户更习惯点击动作按钮后使用系统提供服务。你应该学会如何更好地利用用户这一既定习惯,而不是强迫他们一种全新方式来完成同样事情。...4.2.4 容器视图控制器 容器视图控制器采用自定义方式来管理和呈现它视图控制器或一系列子视图。...用容器视图控制器来呈现内容,使用户可以通过控制器自定义方式进行导航。 先问问你自己是不是必须用到容器视图控制器。用户会更习惯诸如对分视图、或者是标签栏视图这类他们所熟知东西。...如果需要的话,设计一种自定义方式让用户可以非线性方式来获取内容。页面视图控制器让用户从一页移动到前一页或者后一页,而并不支持用户在并不相邻页面间快速切换。...,唤起键盘(键盘布局和类型取决于用户系统语言设置) 始终确保文字易读性。

    10.1K51

    六天完成一个简单iOS App - 第一天

    项目图片获取方式 图片获取非常简单,我们只要将iTunes中项目拖到桌面,然后改后缀名为zip,然后在解压就可以了,更简单暴力可以使用iOS-Images-Extractor运行后直接项目拖进去...UITabBar 中间添加按钮实现 我们知道中间加号按钮是没有标题,即使我们标题设置空,还有有标题label站位,所以UITabBarItem是不能实现了,那么我们只能将一个button覆盖在中间这块区域上...方法一:添加站位控制器,我们可以在中间位置上添加一个空站位控制器,然后button覆盖到UITabBar中间,这样做简单方便,但是创建了一个Controller和一个UITabBarItem没有别的用处只是用来站位...UINavigationControlller 设置左右UIbarbuttonitem代码抽取 我们发现每一个UINavigationControlller根控制器中都需要写一大段相同代码来设置UIbarbuttonite...alloc]initWithCustomView:button]; } 这样我们在根控制器设置UIbarbuttonitem一句话就搞定了 // 设置左边按钮button self.navigationItem.leftBarButtonItem

    1.1K50

    iOS第三方类库IIViewDeck使用方法

    项目需要用到左侧右侧各有一个抽屉视图,而这个类库可以极其简单实现这个功能,不单单是左右各一个,它可以随意设置上下左右抽屉视图,简直是360度想怎么抽怎么抽,这里记录一下使用方法。...ViewDeck只是一个框架,具体界面当然还是自己自定义,因此这里先自定义三个视图控制器用来放在中间、左边和右边视图中,然后就可以用这三个视图来初始化ViewDeck并将其作为根视图: //.h文件...就像QQ、知乎之类效果一样,也很简单,为了方便,这里我们中间视图包装成Nav导航视图,然后换出左视图为例,在导航栏上左侧添加一个按钮,在按钮响应中实现唤出左侧视图: //.h文件 @property...对ViewDeck控制器设置一个值就可以了: //设置当滑动到左右边时,中间视图对点击响应 //1.默认设置,点击中间界面不会返回中间界面,中间界面控件有响应 // self.deckController.centerhiddenInteractivity...基本常用方法就这些了,不得不说这是一个异常简单但特别实用类库,感谢创作者,github项目原地址:https://github.com/Inferis/ViewDeck 可以到github下载我工程

    63920

    iOS头部渐变表格视图设计 原

    iOS头部渐变表格视图设计         今天再来给大家带来一个开发中常用到视图控制器,在很多应用中,可能都会遇到这样一个需求:表视图控制器最上方有一个头图控件,当表格视图滑动在顶部时,导航栏透明...以前经常会遇到这样需求,但从没有整理与封装完善,这次将其封装成完整控件,无论有无导航,都可以很好支持,方便以后使用也提供给需要朋友。 ? ?         ...All rights reserved. /*  *  这个视图控制器创建出带缩放头图效果视图控制器  *  tip:  *      1.这个视图控制器如果是被导航push出来 则内部会使用假导航进行渐隐模拟... *      2.这个视图控制器如果是被present出来 则不会出现假导航栏  *      3.这个视图控制器中自带一个TableView 设置TableView头图不会影响原动画效果  *...*  *  设置动画头图高度  *  *  这个属性如果不设置或者设置0 则默认会使用设置image图片比例  *  */ @property(nonatomic,assign)CGFloat headerHeight

    1.2K20
    领券