2011-07-16 37 views
2

我们有一个当前为iPhone设计的xib。我们正在将应用程序移植到iPad。为什么iPad上的UIScrollView的初始大小仍然为320?

我们正在使用UIScrollView的分页部分。我们有为宽度和高度设置的自动调整掩码。在iPad的初始加载时,帧宽度为320,这当然会导致UI看起来很糟糕。

我们奇怪的是,如果您旋转设备,它会根据iPad屏幕宽度“挑选”新的尺寸。从这一点开始,这是正确的。

我们是否需要初始化帧宽?

回答

2

您是否在创建XIB时勾选了“针对iPad”的框? Tageted for XIB checkbox

如果不是这样,你必须手动编辑XIB(或再重新创建)

您需要为同一控制器的两个不同XIBs。像这样实例化它们。

MyScrollViewController *controller; 
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
{ 
    // iphone related code 
    controller = [[MyScrollViewController alloc] initWithNibName:@"MyScrollViewController" 
                          bundle:nil]; 
} 
else 
{ 
    // ipad related code 
    controller = [[MyScrollViewController alloc] initWithNibName:@"MyScrollViewController_iPad" 
                          bundle:nil]; 
} 
[self presentModalViewController:controller animated:NO]; 
[controller release]; 
+0

因此,如果我这样做,那么将打破iPhone布局? – tjg184

+0

您需要两个不同的XIB - 一个用于iPhone,一个用于iPad。当你创建它们时,你为同一个控制器启动不同的XIB。 – Mugunth

+0

使用代码更新了答案,以了解如何执行此操作。 – Mugunth

相关问题