文档章节

presentViewController:animated:completion:的特殊之处

yoyoso
 yoyoso
发布于 2015/02/28 14:52
字数 224
阅读 1820
收藏 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
博文 128
码字总数 44896
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

分布式块存储的引擎如何设计?

前言: 目前在万兆网络和SSD,包括NVMe SSD 都已经非常普及。随着硬件的速度越来越快,性能的瓶颈会从硬件转移到软件。尤其对于存储引擎来说,性能至关重要。 先来看一下我们会对数据存储引擎...

Java干货分享
14分钟前
0
0
docker(五):docker-compose.yml 配置

docker-compose.yml常用命令 image 指定镜像名称或者镜像id,如果该镜像在本地不存在,Compose会尝试pull下来。 示例: image: java build 指定Dockerfile文件的路径。可以是一个路径,例如...

开心的哈士奇
18分钟前
0
0
Tale的升级真是惊心动魄,吓死人

精心动魄的博客升级计划,Tale 这几天在筹划将分散在其他几个地方的博客统一到这里来,也就留意了tale的更新,发现出现了2.0.1版本; 因此动了升级的念头,唉! 高估了个人开放着的系统规划能...

硅步积千里
29分钟前
0
0
tcc分布式事物

因为最近公司的新退货系统用到了spring cloud。所以会涉及到一些分布式事物。 所以需要先了解一下,分布式事物。 shuaiqiyu / hmily 高性能异步分布式事务TCC框架 谭纳 / spring-cloud-rest-...

miaojiangmin
29分钟前
0
0
20181016 上课截图

小丑鱼00
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部