ios-导航控制器返回功能

问题描述

导航控制器返回功能

有三个视图ABC,每个都有导航条。需求是,在点击c视图的返回键时,打开a视图。

问题是,返回a后,a的导航条添加了c的返回键。

我的实现代码:

UIBarButtonItem * back=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(move)];
self.navigationItem.leftBarButtonItem=back;
-(void)move
{
    FirstViewController * fvc=[[FirstViewController alloc]init];
    [[self navigationController]pushViewController:fvc animated:NO];

}

解决方案

如果三个视图是逐一导航进来的.如下面这种
a -> b -> c
先在a视图通过点击某个按钮导航到b视图,再由b 视图导航到c视图. 那么如果楼主也是这种情况,想要从c 到a ,所执行的不是继续push a 视图(入栈).而是pop a 视图 (出栈)

-(void)move
{
    [self.navigationController popToRootViewControllerAnimated:NO];
}
时间: 2024-12-04 03:20:39

ios-导航控制器返回功能的相关文章

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

最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按钮然后设置为leftBarButtonItem,但是这样图片可能跟系统自带的不一样,还有就是返回按钮的位置跟系统自带的不一样.后来找了一些资料,发现将文字去掉比较简单,一般做法是控制器中添加如下代码,然后他的下一级控制就有一个只有箭头没有文字返回按钮: 复制代码 代码如下: UIBarButtonI

IOS开发之功能模块--自定义导航控制器类常用自定义的代码

前言:本文篇幅不多,但是涉及到的内容却是开发中常用的. 涉及的内容: 1.统一设置导航控制器子控制器的返回按钮. 2.因为修改了系统的返回按钮,所以还需要设置手势事件. 3.隐藏底部的工具条. 这里直接给出.m的实现文件,.h文件不需要,因为没有属性,没有自定义公开的方法. 1 #import "YMNavigationController.h" 2 3 @interface YMNavigationController () <UIGestureRecognizerDelega

iOS如何固定导航栏返回按钮大小

问题描述 iOS如何固定导航栏返回按钮大小 原因:系统返回按钮会随着push之前的controller.title的长度而变长,从而影响当前controller的标题位置 前提:必须使用系统导航栏自带的返回按钮,不要重新self.naigationBarItem.leftItem = XXX 解决方案 可以固定push之前的controller.title的字数,假如你的title需要很长,可以自定义一个label直接加到navigationItem.titleView上, 这样不会改变push

ios中带TabBar的导航控制器,自定义右滑手势返回

问题描述 ios中带TabBar的导航控制器,自定义右滑手势返回 右滑返回上一级页面时,tabBar不能紧贴着第一级页面,而是浮在最上层 解决方案 看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...

Swift导航控制器(navigationController)全屏滑动返回功能实现

navigationController(导航控制器)的view自带了滑动手势,只要在屏幕左侧向右拖动页面,就可以滑动返回到前面一个页面.但这个功能仅在屏幕左侧边缘滑动才能触发,我们可以稍作改造,让其支持全屏滑动返回. 1,全屏滑动返回实现原理 (1)系统自带的手势是 UIScreenEdgePanGestureRecognizer 类型对象,看名字就知道这个是屏幕边缘滑动手势.所以系统自带的滑动效果,自然只能实现侧边滑动. (2)我们自己给导航控制器,添加一个全屏的滑动手势.然后用新添加的滑动

学习iOS自定义导航控制器UINavigationController_IOS

自定义导航控制器: 将导航控制器中通用的部分拿出来统一设置 1.一般导航条标题的字体setTitleTextAttribute和背景颜色setBackgroundImage都是统一的,可以在load方法中使用appearanceWhenContainedIn统一设置 2.一般导航条的返回按钮需要自定义,一般除了栈底控制器有导航条,其他控制器都需要隐藏底部的条,可以重写pushViewController:animated:方法,在该方法中实现该功能 3.导航控制器右滑返回效果(触摸屏幕的任意一点

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四--导航控制器UINavigationController 一.引言         在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便.前几篇博客地址如下: UINavigationBar:http://my

iOS开发中导航控制器的基本使用教程_IOS

多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的"父控制器":控制器B.C.D的被称为控制器A的"子控制器" 为了便于管理控制器,iOS提供了2个

求解,iOS中如何实现点击按钮切换按钮背景图,并且通过导航栏返回并再次进入后按钮还是那个背景图

问题描述 求解,iOS中如何实现点击按钮切换按钮背景图,并且通过导航栏返回并再次进入后按钮还是那个背景图 就是想在一个页面做一个收藏的按钮,如果用户点击按钮按钮的背景图就变成已收藏的背景图,并且保存这一状态,在下一次进入页面的时候还是已收藏的状态,求高手指点 解决方案 你这个没有数据交互么? 正常应该是用户点击收藏,然后后台提交,数据库响应成功后在回调里改变一下按钮状态和相应数据. 解决方案二: 你这个背景图片切换的数量多不?如果就2张图片来回切换,可以写个单例,记录下来你的点击状态,根据状态来