iOS开发之UIViewController 的 presentedViewController 和 presentingViewController

#import "TestViewController.h"
#import "OneViewController.h"

在TextViewController写入点击事件:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self click];
}
- (void)click
{
    OneViewController * vc = [OneViewController new];
    
    [self presentViewController:vc animated:YES completion:nil];
    
    
    NSLog(@"%@",NSStringFromClass([self.presentationController class]));
    NSLog(@"%@",NSStringFromClass([self.presentedViewController class]));
    NSLog(@"%@",NSStringFromClass([self.presentingViewController class]));
    
    NSLog(@"%@",NSStringFromClass([vc.presentationController class]));
    NSLog(@"%@",NSStringFromClass([vc.presentedViewController class]));
    NSLog(@"%@",NSStringFromClass([vc.presentingViewController class]));
    
}

打印结果:

2015-10-07 11:49:38.933 ceshi[2610:61561] _UIFullscreenPresentationController
2015-10-07 11:49:38.933 ceshi[2610:61561] OneViewController
2015-10-07 11:49:38.933 ceshi[2610:61561] (null)
2015-10-07 11:49:38.934 ceshi[2610:61561] _UIFullscreenPresentationController
2015-10-07 11:49:38.934 ceshi[2610:61561] (null)
2015-10-07 11:49:38.934 ceshi[2610:61561] TestViewController

在OneViewController的ViewDidAppear写入:

- (void)viewDidAppear:(BOOL)animated
{
    
    NSLog(@"%@",NSStringFromClass([self.presentationController class]));
    NSLog(@"%@",NSStringFromClass([self.presentedViewController class]));
    NSLog(@"%@",NSStringFromClass([self.presentingViewController class]));
    
}

打印结果:

2015-10-07 11:49:39.437 ceshi[2610:61561] _UIFullscreenPresentationController
2015-10-07 11:49:39.437 ceshi[2610:61561] (null)
2015-10-07 11:49:39.437 ceshi[2610:61561] TestViewController
总结:

presented 和 presenting 都是相对于当前UIViewController自己的。

我的理解,presented就是当前UIViewController有权利弹出的VC对象,presenting就是把当前UIViewController给弹出的对象。

我再理解了一下,presented就是当前UIViewController的儿子

        presenting就是当前UIViewController的老子

参考链接:http://www.cnblogs.com/R0SS/p/4858480.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容