push 和 pop 以及模态

1.首先UINavigationcontroller 得持有controller

例如

RootViewController *rootVC=[[RootViewController alloc]init];

UINavigationController *rootNC=[[UINavigationController alloc]initWithRootViewController:rootVC];

self.window.rootViewController=rootNC;

2.push哪个controller就把哪个controller引入,在点击事件里初始化,

例如

-(void)ItemCount:(UIBarButtonItem *)sender

{

FirstViewController *fies=[[FirstViewController alloc]init];

[self.navigationController pushViewController:fies animated:YES];

}

3.返回即pop  首先设置

[email protected]"根视图";

UIBarButtonItem *b1=[[UIBarButtonItem alloc]initWithTitle:@"下一张" style:UIBarButtonItemStyleDone target:self action:@selector(ItemCount:)];

self.navigationItem.rightBarButtonItem=b1;

然后在barbutton事件里实现pop的功能

-(void)ItemCount:(UIBarButtonItem *)sender

{

[self.navigationController popToRootViewControllerAnimated:YES];

}

4.模态

push的时候一样

-(void)button2Action:(UIButton *)sender

{

GreenViewController *green=[[GreenViewController alloc]init];

//模态视图  临时弹出

[self presentViewController:green animated:YES completion:nil];

}

一,设置一个button  有点击事件( 不用navigationcontroller持有,)

二,事件里退回模态就OK了

-(void)buttonAction:(UIButton *)sender

{

//退出模态

[self dismissViewControllerAnimated:YES completion:nil];

}

时间: 2024-08-05 14:34:51

push 和 pop 以及模态的相关文章

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型

import java.util.Stack; /**  * 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.  * @author user  *  *思路:队列是先入先出,栈是先入后出,可以将数据压入第一个栈后,在弹出来压入第二个栈,弹得时候直接从第二个栈弹出,弹出后又将  *第二个栈中的所有数据弹出重新压入的一个栈  */ public class Solution {     Stack<Integer> stack1 = new Stack<

011实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)

实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值. push,pop和min函数的时间复杂度都为O(1). 看到这个题目最直接的反应是用一个变量来保存当前栈的最小值,让我们来看看这样可行否? 如果栈一直push那是没有问题,入栈元素如果比当前最小值还小,那就更新当前最小值. 可是如果pop掉的栈顶元素就是最小值,那么我们如何更新最小值呢?显然不太好办. 既然只用一个变量没法解决这个问题,那我们就增加变量.如果说每个结点除了保存当前的 值, 另外再保存一个从该结点到栈底的

汇编指令:push、pop

8086CPU出栈入栈都是以字为单位进行的. push ax 由一下两步完成 1.SP=SP-2 2.将ax中的内容送入SS:SP指向的内存单元 pop ax 1.将SS:SP指向的内存单元中的内容送入ax 2.SP=SP+2 push 寄存器 pop 寄存器 push 段寄存器 pop 段寄存器 push 内存单元 pop 内存单元 只给出内存单元的偏移地址,段地址在指令执行时从ds中获得. 汇编指令:push.pop,布布扣,bubuko.com

push() 和 pop()

数组 push() 方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度.而 pop() 方法则从数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项.如下: var colors = []; //创建一个数组 var count = colors.push("red", "green"); //推入两项 alert(count); //2 count = colors.push("blue"); //推入

实现时间复杂度为O(1)的Push,Pop,Min

定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 首先:要决定使用链表结构实现还是顺序结构实现,对于顺序结构实现,当数据满的情况下进行Push时,需要开辟新的数组,进行复制,因此不能保证Push的时间复杂度为O(1):链表结构能够保证Push和Pop的时间复杂度为O(1). 思路:我们需要一个辅助栈.每次push一个新元素的时候,同时将最小元素(或最小元素的位置.考虑到栈元素的类型可能是复杂的数据结构,用最小元素的位置将

iOS如何随意的穿插跳跃,push来pop去

iOS如何随意的穿插跳跃,push来pop去? 主题思想:如A.B.C.D 四个视图控制器. 想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A 解决方法如下: 1.假如此时在 A 控制器下,想要到 push 到 B, 可以这样写 [self.navigationController pushViewController: B :YES]; 这时 self.navigationController.viewControllers 中按顺

更改navigationController push和pop界面切换动画

有时候我们需要自定义navigationController push和pop界面切换动画,用到的代码如下: For Push: [cpp] view plaincopy MainView *nextView=[[MainView alloc] init]; [UIView  beginAnimations:nil context:NULL]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimati

自定义UINavigationController push和pop动画

http://segmentfault.com/q/1010000000143983 默认的UINavigationController push和pop的默认动画都是左右滑动推出,我的应用要求这种界面切换的动画效果复杂一点,大概有这么几个: 更快的左右推出,默认是0.3秒,我需要快一倍 带抖动的左右推出 水平翻转 纸张翻页效果 但是这些切换都要放在NavigationController里做管理,怎么实现,求个思路 ios 链接 评论 更多 默认排序时间排序 3 个回答 答案对人有帮助,有参考

iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们需要把导航控制器加载到APP中,需要把这个导航控制器设置为window的根视图控制器(都是控制器类,可以赋值),这样就相当于加载到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.