全屏UIImageView中的横向模式图像

时间:2012-07-19 12:16:39

标签: iphone objective-c uiimageview uiimage landscape

是否可以让UIImageView处理横向图像与纵向图像不同?

我会尝试解释,我ImageViewController的{​​{1}}填满了整个屏幕。
在某些时候,用户启动UIImageView并从相机胶卷中选择一张照片 然后我用该图片创建UIImagePickerController的实例并将其推送

ImageViewController

问题是,如果图像处于横向模式,它仍会填满整个屏幕 我希望它看起来像iPhone照片应用程序如何呈现风景图像(在屏幕的中心,黑色背景)。

是否有在UIImageView中显示横向模式图像的方法?或者我是否需要根据图像方向设置imageView框架?

3 个答案:

答案 0 :(得分:3)

设置一下:

imageView.contentMode = UIViewContentModeAspectFit;

它将保持的比例适合屏幕,而不是填充它。

答案 1 :(得分:1)

您可能希望根据图片的比例更改UIImageView的{​​{1}}属性。

所以在contentMode

viewDidLoad

并在用户切换到横向时更改该模式,例如在if (imageView.image.size.height > imageView.image.size.width) { imageView.contentMode = UIViewContentModeAspectFill; } else { imageView.contentMode = UIViewContentModeAspectFit; }

willAnimateRotationToInterfaceOrientation:duration:

注意:注意测试,但可能有效

答案 2 :(得分:0)

UIImageView *imgView;
imgView.contentMode = UIViewContentModeCenter;