iPad方向和xib文件

时间:2011-11-24 06:53:11

标签: ipad file xcode4 orientation xib

我在我的iPad应用程序中使用一个xib文件作为我的第一个屏幕。在那个xib文件中我在后台使用一个图像视图和一个按钮,如果我点击该按钮然后它将转到另一个页面。我的应用程序现在问题是,假设我单击该按钮并进入第二页然后更改设备的方向然后返回主页面,现在在主页面按钮的框架中更改。所以我无法理解在哪里点击第二次进入第二页。

请帮我摆脱这个问题。

1 个答案:

答案 0 :(得分:1)

我发现了一种独立于导航控制器的更好的方法。现在,我在嵌入导航控制器时工作,并且当没有嵌入时(虽然我现在没有使用导航控制器,所以可能有一些我没见过的错误 - 例如PUSH过渡动画可能会变得有趣或者其他东西)

两个NIB,使用Apple的命名约定。我怀疑在iOS 6或7中,Apple可能会将其添加为"功能"。我在我的应用程序中使用它并且它完美运行:

触发器将在WILL旋转,而不应该旋转(等待旋转动画即将开始)     对横向/纵向文件使用Apple命名约定(如果希望Apple自动加载横向版本,则Default.png为Default-landscape.png)     重新加载新的NIB     这将重置self.view - 这将自动更新显示     然后它调用viewDidLoad(如果您手动重新加载NIB,Apple将不会为您调用此方法)

(NB stackoverflow.com在这里要求这句话 - 代码格式化程序中存在错误)

 -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
  if( UIInterfaceOrientationIsLandscape(toInterfaceOrientation) )
{
    [[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@-landscape", NSStringFromClass([self class])] owner:self options:nil];

    [self viewDidLoad];

}
else
{
    [[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", NSStringFromClass([self class])] owner:self options:nil];
     [self viewDidLoad];

}
}