美文网首页
present和dismiss的使用总结

present和dismiss的使用总结

作者: 紫云夕月 | 来源:发表于2016-08-24 16:31 被阅读110次

    在实际开发中,如果要弹出视图:

    我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法。

    presentModalViewController:弹出视图

    dismissModalViewControllerAnimated:隐藏视图

    我们假如A弹出B

    就是说,A负责隐藏B;如果我们在B中调用dismissModalViewControllerAnimated方法,那么编译器,自动将消息发送给A。

    等等,什么消息?

    简单的理解,当执行presentModalViewController: 方法:在A弹出B时:

    执行A的viewWillDisappear方法,

    通知B执行自己的viewWillAppear方法和viewDidAppear方法

    执行A的viewDidDisappear方法

    当执行dismissModalViewControllerAnimated方法:隐藏B时:

    执行B的viewWillDisappear

    通知A执行自己的viewWillAppear方法和viewDidAppear方法

    执行B的viewDidDisappear方法

    [self presentViewController:navigationController animated:YES completion:^(void){// Code}];

    [self dismissViewControllerAnimated:YES completion:^(void){// Code}];

    新接口的差别是提供了一个参数,允许你传入一个block。这个block的回调方法在VC的viewWillDisappear方法后调用。也就是被隐藏的VC对象被释放后运行回调。

    这样做的好处:可以方便做多个UI效果之间的衔接和转换。

    相关文章

      网友评论

          本文标题:present和dismiss的使用总结

          本文链接:https://www.haomeiwen.com/subject/vilosttx.html