缩放图像在iPhone旋转屏幕贴合
-
26-09-2019 - |
题
我有包含的UIImageView一个UIScrollView和我有一些麻烦,以获得正确的行为的iPhone旋转时。
目标:我想获得从纵向去风景时,以下几点:
_________
|AAAAAAA|
|BBBBBBB| _________________
|CCCCCCC| | AAAAAA |
|DDDDDDD| --> | CCCCCC |
|EEEEEEE| | EEEEEE |
|FFFFFFF| |_____GGGGGG_____|
|GGGGGGG|
---------
在这里,在纵向视图的整个图像被缩放以适合在横向视图的iPhone旋转时。它也居中。我也尝试保持纵横比。用户交互也导通,并且用户应该能够使用整个屏幕进行平移/缩放图像。
目前我有以下autoresizingMask
上滚动视图:
scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
但是,这提供了以下
_________
|AAAAAAA|
|BBBBBBB| _________________
|CCCCCCC| |AAAAAA |
|DDDDDDD| --> [BBBBBB |
|EEEEEEE| [CCCCCC |
|FFFFFFF| [DDDDDD__________|
|GGGGGGG|
---------
此设置蜜饯规模和从左上角偏移。
<强>问题:强>
是否有可能获得使用合适autoresizingMask
这种行为?如果不是这样,一个可能应该设置
scrollView.autoresizingMask = UIViewAutoresizingNone;
和手动设置zoomScale
和contentOffset
上旋转的UIScrollView。但是,应该在哪里是做什么?关于动画这种变化是什么?
<强>解决方案:强> 通过略微修改回答下面我使用了上述行为 下面的代码:
imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth
| UIViewAutoresizingFlexibleHeight);
imageView.contentMode = UIViewContentModeScaleAspectFit;
scrollView.contentMode = UIViewContentModeCenter;
解决方案
尝试这种情况:
scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight);
imageView.contentMode = UIViewContentModeAspectFit; // You could also try UIViewContentModeCenter
我不知道,如果ImageView的将一个UIScrollView内得到自动调整大小,因此如果自动尺寸不工作,你可以尝试自己设置在框架上旋转等于滚动视图的大小。
其他提示
我有类似的情况,一个非常简单的滚动视图与3个imageViews(“前”,“电流”和“下一个”)以显示一系列照片。
这些照片都是大小为iPad,但横向和纵向的混合。我希望他们装配到屏幕上,(即信箱如果必要的话),与宽高比保留。我发现我只需要为它这样做是为了将3个imageViews工作:
imageView.contentMode = UIViewContentModeScaleAspectFit;
不隶属于 StackOverflow