我正在创建一个应用,我需要在模态屏幕中显示图像。在我的xib中,我将UIImage视图设置为屏幕的完整大小。当图像显示时,它在屏幕中居中。这在iPhone5上运行良好。但是,当我恢复到4s进行测试时,无论我做什么都无法缩小图像视图,使图像在屏幕中居中,导致图像显示在页面的一半,因为图像视图太大对于屏幕。滚动视图似乎正确调整大小,我不确定为什么图像不会。
4s 症状的屏幕截图 相关代码如下:
[self.scrollView setZoomScale:self.scrollView.minimumZoomScale animated:YES];
[self.myView setTranslatesAutoresizingMaskIntoConstraints:YES];
[self.scrollView setTranslatesAutoresizingMaskIntoConstraints:YES];
[self.imageView setTranslatesAutoresizingMaskIntoConstraints:YES];
NSURL *url = [NSURL URLWithString:self.myImage];
NSData *data = [NSData dataWithContentsOfURL:url];
img = [[UIImage alloc] initWithData:data];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
[self.scrollView setZoomScale:self.scrollView.minimumZoomScale animated:YES];
CGSize imageSize = [self currentScreenBoundsDependOnOrientation];
self.imageView.frame = self.myView.bounds ;
self.scrollView.frame = self.myView.bounds;
imageWithAlignmentRectInsets:UIEdgeInsetsMake(0, 0, 20, 20);
答案 0 :(得分:0)
有很多事情可能出错。
确保在scrollView上将autoresizesSubviews
设置为NO
,或将autoresizingMask
上的imageView
设置为无(您不希望imageView.frame
1}}在scrollView.frame
更改时更改。
您确定要将图像居中吗?如果图像居中并且图像视图小于它(这可能是iphone 4上的情况),那么显然将隐藏图像的一部分。您确定不希望contentMode
设置为UIViewContentModeScaleAspectFit
吗?或者甚至更好,您确定不希望imageView
与图像具有相同的尺寸,并使用scrollView
来查看图像吗?