Iphone 如何在设备旋转时处理UIImage
我有一个UIScrollView,里面有一个UIImage。以下代码正确初始化图像,其宽度与scrollView的宽度相同:Iphone 如何在设备旋转时处理UIImage,iphone,Iphone,我有一个UIScrollView,里面有一个UIImage。以下代码正确初始化图像,其宽度与scrollView的宽度相同: // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; ... imageView = [[UIImageView alloc]
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
...
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map1.jpg"]];
imageView.userInteractionEnabled = YES;
imageView.autoresizingMask = ( UIViewAutoresizingFlexibleWidth );
[imageScrollView addSubview:imageView];
imageScrollView.contentSize = [imageView frame].size;
...
// calculate minimum scale to perfectly fit image width, and begin at that scale
float minimumScale = [imageScrollView frame].size.width / [imageView frame].size.width;
//imageScrollView.maximumZoomScale = 1.0;
imageScrollView.minimumZoomScale = minimumScale;
imageScrollView.zoomScale = minimumScale;
}
我想做的是,当设备旋转时,将大小设置为如上所述的完美匹配。以下是我试图做的:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
float newScale = [imageScrollView frame].size.width / [imageView frame].size.width;
imageScrollView.zoomScale = newScale;
}
出于某些原因,这根本不起作用。我唯一能让它工作的方法是初始化另一个UIImage并再次执行所有初始化过程,我觉得这不对。可能您也应该更改滚动视图的.contentSize。很遗憾,它似乎无法工作。我认为问题出在UIImageView上,而不是UIScrollView上。好的,请描述一下旋转后你在屏幕上看到了什么,即UIImage的大小等等?图像的放大程度超过了需要,这是因为UIViewAutoresizingFlexibleWidth-图像在旋转后按比例调整了屏幕宽度。检查图像帧,并将其更改为开始时的值。感谢您的帮助Nickolay。不幸的是,我没能听从你的建议。我应该如何更改图像边框?