今天在开发过程中发现一个奇怪的现象:
使用下面这段代码界面可以正常弹出,但是界面显示不正常
代码:
TestViewController *abcviewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
abcviewController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:abcviewController animated:YES completion:^{
}];
界面结果:
这里给出这种情况的解决方案:
在界面弹出后,重新修改界面的frame及中心点
代码:
TestViewController *abcviewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
abcviewController.modalPresentationStyle =UIModalPresentationFormSheet;
[selfpresentViewController:abcviewController animated:YEScompletion:^{
}];
//重要
abcviewController.view.superview.frame = CGRectMake(0, 0, 430, 383);
abcviewController.view.superview.center = CGPointMake(1024/2, 748/2);
这样界面就能按照正确的大小显示在界面的中间了