今天在开发过程中发现一个奇怪的现象:
使用下面这段代码界面可以正常弹出,但是界面显示不正常
代码:
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);
这样界面就能按照正确的大小显示在界面的中间了
本文介绍了一种在iOS开发中遇到的界面显示异常问题及其解决方案。通过调整弹出视图控制器的frame和中心点,实现了界面正确显示。
1134

被折叠的 条评论
为什么被折叠?



