UIViewController使用属性modalPresentationStyle

来源:互联网 发布:淘宝客自动赚钱软件 编辑:程序博客网 时间:2024/05/16 12:31

今天在开发过程中发现一个奇怪的现象:

使用下面这段代码界面可以正常弹出,但是界面显示不正常

代码:

    TestViewController *abcviewController = [[TestViewControlleralloc]initWithNibName:@"TestViewController"bundle:nil];

    abcviewController.modalPresentationStyle =UIModalPresentationFormSheet;

    [selfpresentViewController:abcviewController animated:YEScompletion:^{

        

    }]; 



界面结果:



这里给出这种情况的解决方案:

在界面弹出后,重新修改界面的frame及中心点

代码:

    TestViewController *abcviewController = [[TestViewController allocinitWithNibName:@"TestViewController" bundle:nil];

    abcviewController.modalPresentationStyle =UIModalPresentationFormSheet;

    [selfpresentViewController:abcviewControlleranimated:YEScompletion:^{

        

    }];    

//重要

    abcviewController.view.superview.frame = CGRectMake(0, 0, 430, 383);

    abcviewController.view.superview.center = CGPointMake(1024/2, 748/2);


这样界面就能按照正确的大小显示在界面的中间了