自动调整大小时,iOS导航栏重叠UIImageView的顶部

时间:2012-12-11 02:33:36

标签: iphone ios ios5 uiimageview uinavigationbar

我的DetailView的布局如下:

enter image description here

你可以看到我把UIImageView放在黑色导航栏的正下方。

如果设备是纵向或横向的,我希望图像的宽度能够填满屏幕。

在IB上,UIImageView是“Aspect Fill”并且自定义高度约束为> = 240。

出现了两个问题:

  • 首先,虽然UIImageView宽度填满了屏幕但垂直尺寸没有自动调整大小

  • 第二,高度> gt的图像; 240只能在导航栏

  • 下垂直

有任何建议如何解决这个问题?很高兴在需要时发布代码。

1 个答案:

答案 0 :(得分:0)

如果您不介意,我的想法是为您的UIImageView设置框架,而不是使用自动调整大小,如下所示

In - (void)viewWillAppear:(BOOL)动画

- (void)viewWillAppear:(BOOL)animated
{
    [self checkOrientation];
}

和checkOrientation

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

    if (UIDeviceOrientationIsLandscape(deviceOrientation)) {
        // set imageview frame to fit what you need
    }
    else if (deviceOrientation == UIDeviceOrientationPortrait) {
        // set imageview frame to fit what you need
    }
}

希望它至少能帮助你一点,谢谢。