我希望有人可以提供帮助......这个问题已经在这里讨论过了,我尝试了所提出的解决方案,但无济于事。
使用可以从此URL下载的示例项目最好地说明了我的问题:
http://www.hitsalive.com/tmp/VCTest.zip
在示例项目中,我有一个主UIViewController
,其中有两个按钮用于调用另外两个UIViewControllers - 一个使用presentModalViewController
,另一个使用“addSubView”(使用AppDelegate)。单独的两个按钮和UIViewController
都可以正常工作。
但是,如果我先调用模态viewcontroller,然后将其关闭(使用dismissModalViewControllerAnimated: YES
),然后显示第二个(addSubView
)UIViewController
,然后显示第二个中的所有元素和子视图UIViewController
(例如示例中的按钮)垂直向下移动20个像素。并且位移发生在瞬间延迟。
SDK 3.2及更低版本不会发生此问题 - 只需iOS4。
任何帮助都将受到赞赏,特别是参考上面的示例项目。
答案 0 :(得分:1)
在[aViewControllerTwo setWantsFullScreenLayout:YES];
- (void)flipToViewControllerTwo
添加到ViewControllerTwo *aViewControllerTwo = [[ViewControllerTwo alloc] initWithNibName:@"ViewControllerTwo" bundle:[NSBundle mainBundle]];
答案 1 :(得分:1)
为了解决这个问题,您需要对显示为移位的视图控制器执行以下操作:添加框架,然后适当地设置此框架的位置。将此框架设置为ViewController的视图。
shiftedViewController* ShiftedViewController = [[ShiftedViewController alloc] init ];
CGRect theFrame = [shiftedViewController.view frame];
theFrame.origin.y = 20;
theFrame.origin.x=0;
[shiftedViewController.view setFrame: theFrame];
[self presentModalViewController:shiftedViewController
animated:YES];