如何在ipad中从纵向模式切换到横向模式时正确加载图像和按钮

时间:2013-11-29 13:13:17

标签: ios objective-c ipad ios-simulator landscape-portrait

我开发了一个iPAD应用程序,它在纵向模式下看起来不错,但是当我将屏幕旋转到横向上(即向左或向右旋转)时,模拟器上没有正确加载图像和按钮(8个按钮,2个与另外2个重叠) )是重叠的。我怎么能纠正这个?

注意:我正在将第一个屏幕图像作为背景图像加载到“ViewDidLoad”方法中。另外,使用xcode 4.4和4.6进行开发。

2 个答案:

答案 0 :(得分:1)

你将不得不使用autolayout。

查看本指南:

http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1

答案 1 :(得分:1)

另一种方法是使用这些方法:

- (void)updateLayoutForNewOrientation:(UIInterfaceOrientation)orientation{
if (self.interfaceOrientation == UIInterfaceOrientationPortrait || self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
    // Portrait
}
else{

    //Landscape
}}

- (void)viewWillAppear:(BOOL)animated{
   [super viewWillAppear:animated];

   [self updateLayoutForNewOrientation:self.interfaceOrientation];}

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration{
      [self updateLayoutForNewOrientation:self.interfaceOrientation];}

在updateLayoutForNewOrientation方法中,您必须根据Orientation使用组件的边界。