是否有可能以不同的方式让UIImageView的手柄风景图片来自人像图像?
我会尽力解释,我有ImageViewController
用UIImageView
,填补了整个屏幕。
在一些点上用户推出UIImagePickerController
,并从相机胶卷的照片。
然后,我创建的实例ImageViewController
与图片,并将它推
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
ImageViewController *ivc = [[ImageViewController alloc] initWithImage:image];
[picker pushViewController:ivc animated:YES];
[ivc release];
}
问题是,如果图像是在横向模式下,它仍然充满了整个屏幕。
我希望它看起来像iPhone的照片应用程序是如何呈现的风景图像(在屏幕中央,背景为黑色)。
是否有办法构建以显示UIImageView的横向模式影像? 或者我需要根据图像方向设置ImageView的框架?
只要设定这样的:
imageView.contentMode = UIViewContentModeAspectFit;
并能持续的比重,适应屏幕,不加油吧。
你可能想改变UIImageView
的contentMode
根据画面的比例财产。
因此,在viewDidLoad
:
if (imageView.image.size.height > imageView.image.size.width) {
imageView.contentMode = UIViewContentModeAspectFill;
} else {
imageView.contentMode = UIViewContentModeAspectFit;
}
并且当用户切换到风景,改变模式,以便例如在willAnimateRotationToInterfaceOrientation:duration:
:
if (UIInterfaceOrientationIsLandscape(toIntefaceOrientation)){
if (imageView.image.size.height > imageView.image.size.width) {
imageView.contentMode = UIViewContentModeAspectFit;
} else {
imageView.contentMode = UIViewContentModeAspectFill;
}
} else {
if (imageView.image.size.height > imageView.image.size.width) {
imageView.contentMode = UIViewContentModeAspectFill;
} else {
imageView.contentMode = UIViewContentModeAspectFit;
}
}
注意:注意测试,但可能工作
UIImageView *imgView;
imgView.contentMode = UIViewContentModeCenter;