iOS - 使用自动布局更改旋转时的背景图像

时间:2014-05-09 15:47:48

标签: ios ipad autolayout

我是iOS开发的新手,只是继承了大量的iOS代码。

我正在尝试开始使用自动布局和约束,以便更轻松地支持不同的屏幕尺寸和iOS版本。我发现,一旦我改变故事板以使用自动布局,当我将iPad旋转到横向视图时,背景图像就不再改变了。我不确定这是否是自动布局阻止此更改或是否有其他方法来切换背景图像。我很感激你的帮助。

这是我的旋转方法。

- (void)didRotate
{
    UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;

    if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPhone)
    {
        if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight)
        {
            [backgrndView setBackgroundImage:[UIImage imageNamed:@"menu_ipad2.png"] forState:UIControlStateNormal] ;
        }
        else if (orientation == UIDeviceOrientationPortraitUpsideDown|| orientation == UIDeviceOrientationPortrait)
        {
            [backgrndView setBackgroundImage:[UIImage imageNamed:@"menu_ipad.png"] forState:UIControlStateNormal] ;
        }

        [backgrndView sizeToFit];
    }
}

2 个答案:

答案 0 :(得分:1)

将新的左,右和上限值零值添加到基础视图(这是一个按钮)修复了问题。

答案 1 :(得分:0)

我相信您要覆盖的方法是didRotateFromInterfaceOrientation:而不是didRotate