文档章节

presentViewController:animated:completion:的特殊之处

yoyoso
 yoyoso
发布于 2015/02/28 14:52
字数 224
阅读 1810
收藏 0

原型:

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion


描述:

Presents a view controller modally.
  In a horizontally compact environment, the presented view is always full screen. In a horizontally regular environment, the presentation depends on the value in the modalPresentationStyle property.
    This method sets the presentedViewController property to the specified view controller, resizes that view controller'€™s view based on the presentation style and then adds the view to the view hierarchy. The view is animated onscreen according to the transition style specified in the modalTransitionStyle property of the presented view controller.
The completion handler is called after the viewDidAppear: method is called on the presented view controller.

注意上面红色文字的地方。

一般来说,页面跳转必须在viewDidLoad和viewDidAppear之后才能进行,如果是在presentViewController:animated:completion:的completion中跳转,可以确保页面跳转是在viewDidAppear之后进行的。否则,就会有可能提示Warning: Attempt to present on whose view is not in the window hierarchy!


参考:

对Warning: Attempt to present on whose view is not in the window hierarchy!的解决方案


© 著作权归作者所有

共有 人打赏支持
yoyoso
粉丝 48
博文 125
码字总数 44507
作品 0
南京
高级程序员
presentViewController显示方式的窗口,没有导航栏的解决方法

ViewController *Controller = [[ViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:Controller]; [self presentVi......

卓行天下
2017/08/24
0
0
例如有两个分别为A,B的viewcontroller ,然后每隔5秒钟重复切换两个viewcontroller。

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSel ... -(void)screenFun:(NSTimer *)timer { [NSTimer scheduledTimerWithTimeInter......

什科夫
2013/07/26
118
0
modal的样式及 半透明控制器效果

modal出半透明的控制器: UIViewController * maskVC = [[UIViewController alloc] init]; //设置页面的透明度 maskVC.view.backgroundColor = [UIColor colorWithFullRed:0 green:0 blue:0......

biyu6
2016/05/26
78
0
控制器中添加控制器的常见方法

控制器中添加控制器的常见方法: 1 添加子控制器:addChildViewController: 2 modal出控制器: presentViewController:<#(nonnull UIViewController *)#> animated:<#(BOOL)#> completion:<#......

奋斗的青春年华
2016/08/30
4
0
NSInvalidArgumentException :Application tried t...

违背了一个原则: Apple expects you to treat their UI elements in a certain way. 即一个东西必须明确它的作用 在使用storyboard的 prepareForSegue:(UIStoryboardSegue *)segue sender:......

孔俊
2013/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部