0
我有一个内部有UIImage的UIScrollView。下面的代码可以正确初始化图像(它的宽度是一样的滚动视图的宽度):如何在设备旋转上处理UIImage
// 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,并再次执行所有初始化过程,这对我来说并不合适。
这似乎并不幸运。我认为问题是与UIImageView,而不是UIScrollView。 – 2010-08-24 09:14:02
好的,请描述你在旋转后在屏幕上看到什么,即UIImage的大小是什么等等? – 2010-08-24 09:23:29
图像被放大(方式比需要更多) – 2010-08-24 12:42:44