我有包含的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;

和手动设置zoomScalecontentOffset上旋转的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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top