我的DetailView的布局如下:
你可以看到我把UIImageView放在黑色导航栏的正下方。
如果设备是纵向或横向的,我希望图像的宽度能够填满屏幕。
在IB上,UIImageView是“Aspect Fill”并且自定义高度约束为> = 240。
出现了两个问题:
首先,虽然UIImageView宽度填满了屏幕但垂直尺寸没有自动调整大小
第二,高度> gt的图像; 240只能在导航栏
有任何建议如何解决这个问题?很高兴在需要时发布代码。
答案 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
}
}
希望它至少能帮助你一点,谢谢。