iphone应用程序页面push执行问题
来源:互联网 发布:淘宝店铺装修技巧 编辑:程序博客网 时间:2024/06/17 04:28
在A页面的一个功能进行两种不同顺序的push操作时的执行结果区分:
第一种执行方式:
fxjcheckinfoViewController *checkView = [[fxjcheckinfoViewController alloc] initWithNibName:
@"fxjcheckinfoViewController" bundle:nil];
checkView.isAccess = self.isPass;
checkView.picNumber = self.picNumber;
[self.navigationController pushViewController:checkView animated:NO];
[checkView release];
[self.cameraPicker dismissModalViewControllerAnimated:NO];
UIWindow *tmpWindow = [[UIApplication sharedApplication] keyWindow];
UIButton *tmpBtn1 = (UIButton *)[tmpWindow viewWithTag:BTNTAG1];
UIButton *tmpBtn2 = (UIButton *)[tmpWindow viewWithTag:BTNTAG1];
tmpBtn1.hidden = NO;
tmpBtn2.hidden = NO;
UIView *bgView = (UIView *)[tmpWindow viewWithTag:WINVIEWTAG];
[bgView removeFromSuperview];
第二种执行方式:
[self.cameraPicker dismissModalViewControllerAnimated:NO];
UIWindow *tmpWindow = [[UIApplication sharedApplication] keyWindow];
UIButton *tmpBtn1 = (UIButton *)[tmpWindow viewWithTag:BTNTAG1];
UIButton *tmpBtn2 = (UIButton *)[tmpWindow viewWithTag:BTNTAG1];
tmpBtn1.hidden = NO;
tmpBtn2.hidden = NO;
UIView *bgView = (UIView *)[tmpWindow viewWithTag:WINVIEWTAG];
[bgView removeFromSuperview];
fxjcheckinfoViewController *checkView = [[fxjcheckinfoViewController alloc] initWithNibName:
@"fxjcheckinfoViewController" bundle:nil];
checkView.isAccess = self.isPass;
checkView.picNumber = self.picNumber;
[self.navigationController pushViewController:checkView animated:NO];
[checkView release];
对于上面两种执行方式,其目的时要从这里的A页面push到通过代码定义得checkView页面(B页面),但是两种代码执行的结果却不相同。其中第一种正确显示了需要的结果,而第二种方式则是一个不需要的执行方式。两种执行结果和执行顺序到底是怎样的呢?(注:在这里,需要先说明:在A页面是有viewDidAppear函数操作的,而对于viewController在执行当前页面显示时,是要执行viewDidAppear操作的。)
对于第一种执行方式,首先执行
fxjcheckinfoViewController *checkView = [[fxjcheckinfoViewController alloc] initWithNibName:
@"fxjcheckinfoViewController" bundle:nil];
checkView.isAccess = self.isPass;
checkView.picNumber = self.picNumber;
[self.navigationController pushViewController:checkView animated:NO];
[checkView release];
通过push功能将B页面push到(UINavigationController)栈顶, 同时A页面的显示操作被作为第一相应页面,在此功能模块执行完毕后,将执行其显示操作,然后对A页面进行
[self.navigationController pushViewController:checkView animated:NO];
操作,对A页面进行修改。这样一来当前页面(UINavigationController的栈顶页面)虽然A页面有所修改,但是位于栈顶的仍然是B页面而非A页面,所以接下来将执行我们需要的B页面,而将A页面的viewDidAppear延时执行。
但是对于第二种操作,首先执行[self.navigationController pushViewController:checkView animated:NO];由于有Controller操作,所以其被作为了第一相应页面,在执行完气候的代码之后,将接着执行A页面的viewDidAppear操作,而将其后的页面置延时执行。
- iphone应用程序页面push执行问题
- iphone Push Notification还存在的问题
- iphone push
- iPhone Push
- push 到下个界面问题 自动登录自动执行push
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- php发送和iPhone端发送push问题。
- iPhone X在push时tabBar往上偏移的问题
- iOS push跳转页面时,页面透明交叉的问题。
- iphone应用程序崩溃问题(一)
- 动画停止问题,push,pop页面后,动画停止问题
- 再论iPhone Push Notification
- iphone gmail email push
- iphone push是什么
- iPhone push服务端开发
- iphone push机制
- 使用Process调用Linux下的mysql命令,却执行不了
- 【飞秋】ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
- VC 线程间通信的三种方式
- 抛出自定义错误 assert
- 【飞秋】在SPItemEventReceiver中使用BeforeProperties和AfterProperties
- iphone应用程序页面push执行问题
- UNIX下查找文件
- 筛选求素数
- WYSIWYG的在线编辑器比较
- 【飞秋】一起学Windows Phone7开发(十三.四 基本控件)
- Ubuntu下开发环境搭建 C|C++|GTK等
- 时间
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- 只允许EDIT控件接收指定的格式