Presenting view contro…
来源:互联网 发布:web服务器搭建域名 编辑:程序博客网 时间:2024/05/27 14:12
在做ios 开发的时候,有时候我们需要临时让用户输入信息,常用到的是
这个函数全名如此
官方文档上说调用 present函数会中断当前工作流程,属于一种临时中断。这也就是跟你push一个viewcontroller的本质区别。
另外需要注意的就是 呈现与被呈现视图之间有一个指向关系。
这是uiviewcongtroller.h 里面的一段代码
看后面俩个属性,当你在当前视图控制器里面调用presentviewcontroller函数,实际上函数内部实现对这两个属性做了赋值。
好,函数介绍到此。
那实际使用的时候,一般不会出什么问题,不过有些问题值得思考。
比如我最近碰到一个发生在调用时。
Presenting view controllers on detached view controllers isdiscouraged
出现这段文字。我上网看到的答案包括stackflow上面的
一般来说我们呈现一个viewcontroller里面的内容,经常采用的方式是用navigationcontroller与tabbarcontroller来管理视图控制器。在这种情况下,呈现的视图控制器都在一个app维护的控制器堆栈里面。
而有一种情况就是通过self.viewaddsubview:AviewController.view也可以呈现出某个视图控制器。这种情况虽然看上去跟push的结果没什么不同,但是实际上这个被呈现的view的controller并没有在当前app的视图堆栈里,也就是所谓的
detachviewcontroller,如果你在这个分离之外的视图控制器里面做present调用,就会出现上述问题。
所以判定是否为分离视图,就是看它是不是处在当前app的控制器堆栈里面。
显然app的 rootviewcontroller当然是处于堆栈里,并且是堆栈最底层的视图控制器。所以这种解决方案在一定程度上是可行的。
0 0
- Presenting view contro…
- Presenting view contro…
- View Controller 生命周期的…
- View Controller 生命周期的…
- ive lateral view…
- View, surfaceView, GLS…
- ExecutionLog2 View -&n…
- IOS UI view button 自定义颜色………
- Attribute view add column
- Create Attribute View
- HANA Create View
- 集线器 交换机 路由器 网桥 …
- 使用BBED修改SCN …
- Hive安装 …
- android o…
- android …
- [转] 彼尔…
- “constructors not allowed …
- 语言之争
- tabBar隐藏的问题
- 如何实现动态cell区的设置
- Presenting view contro…
- 高通平台下Sensors相关调试经验详解
- Presenting view contro…
- Oracle EBS 基本业务流程
- OC对象类型
- 支付宝支付流程详解
- 微信支付
- Android 插件化 动态升级
- rails升级tips
- c# winform下文件操作相关<filedialog>
- 最全面的 Android 编码规范指南