旋转iPhone并保持图像的比例

时间:2011-08-10 12:13:14

标签: objective-c iphone uiimageview

我有一个UIScrollView,它包含UIImageViews。所有图像保持其图像比例 - 我的意思是,例如肖像画面高而窄,而风景图像又短又宽。我在屏幕上同时有4张图像(垂直2张,水平2张),然后我可以向下滚动。

我的问题是旋转设备。我用

[self.imageScrollView setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin];// (etc)

与imageView相同的方法。但是图像并没有保持比例。如果我设置: UIViewAutoresizingFlexibleWidth - 图像宽,但高度太小 UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight - 图像是水平拉伸的,而垂直方向是小的。

我需要旋转设备(纵向 - >横向),使这两个图像(我彼此相邻)填充间隙并保持这些图像的比例。

2 个答案:

答案 0 :(得分:0)

试试这个功能..

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
        if (orientation == UIDeviceOrientationPortrait) { //Device is portait 
            //Resize the images to fit this orientation
                         image1.frame = CGRectMake(x,x,x,x);
        }
        else {
            //Device is landscape..
        }   
    return YES;
}

答案 1 :(得分:0)

imageView.contentMode = UIViewContentModeScaleAspectFill;

这解决了我的问题^^