2011-11-24 86 views
-1

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

请帮我摆脱这个问题。

回答

1

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

两个NIB,使用苹果的命名约定。我怀疑在iOS 6或7中,Apple可能会将其添加为“功能”。我在我的应用程序使用它,它完美的作品:

触发上会旋转,(直到旋转阿尼姆即将开始等待)不应转动 用来横向/纵向文件(默认苹果的命名约定。 png是Default-landscape.png,如果你想苹果自动加载风景版本) 重新加载新的NIB ,它会重置self.view - 这将自动更新显示 ,然后它调用viewDidLoad(Apple不会调用这个为你,如果你手动重新加载一个NIB)

(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]; 

} 
}