本文主要介绍了iOS页面跳转的三种方法及数据传递的方法。具有很好的参考价值。下面跟着小编一起来看下吧
iOS页面跳转:
第一种
[self.navigationController pushViewController:subTableViewController animated:YES];
//描述:通过 NSNavigationBar 进行跳转
[self.navigationController popViewControllerAnimated:YES];
//描述:在子视图返回到上级视图
第二种
UIViewController *control = [[UIViewController alloc] init]; [self presentModalViewController:control animated:YES]; [control release];
//描述:通过事件进行跳转
[self dismissModalViewControllerAnimated:YES];
//描述:通过事件进行返回。
第三种
[self.view.window addSubview:otherview];
[self.view removeFromSuperview]
数据传递:
1)采用代理模式子viewcontroller设计 代理协议,定义协议接口,父viewcontroller 实现协议接口,实现子viewcontroller 退出时将相关数据更新到父视图。
2)采用ios的消息机制 父viewcontroller注册消息,子viewcontroller 发送消息,触发父viewcontroller的消息处理。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setData:) name:kNotificationMessage object:nil];
//注册监听,其中setData用来处理消息
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationMessage object:self userInfo:infoDict];
//发送消息
3)采用database做为数据中间的存储媒介,子viewcontroller将状态数据存入DB,父viewcontroller从DB获取数据更新view.
4)采用ios的NSDefault 存储
5)通过AppDelegate 中定义全局变量实现中间数据的存储。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程学习网!
本文标题为:iOS页面跳转及数据传递(三种)
- Android实现轮询的三种方式 2023-02-17
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Flutter实现底部和顶部导航栏 2022-08-31
- 详解flutter engine 那些没被释放的东西 2022-12-04
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android实现监听音量的变化 2023-03-30
- Android studio实现动态背景页面 2023-05-23
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
