【发布时间】:2013-09-01 16:05:26
【问题描述】:
我有一个包含 UIImageView 的 UIScrollView
我需要缩放到相对于 UIImage 和不 UIScrollView 的特定位置
例如,我有一个尺寸为 1000,1000 PX 的 UIImage
我想放大到一个正方形,使得该图像内的 CGRect = (400,500,100,100)
不幸的是 self.scrollView zoomToRect:animated 不能正常工作,因为这个矩形在它的视图之外并且不在同一个坐标系中
UIImage 的纵横比也可以在 UIImageview 内部发生变化,因此很难计算其在 UIImageView 内部的偏移量(图像顶部和底部的黑条)
我知道
convertRect:fromView:
所以想去做
-(void)zoomToRectInImage:(CGRect)rect
{
CGRect rect1 = [self.imageView.image convertRect:rect fromView:self.imageView.image]; // error because UIImage isn't a view
CGRect scrollViewRect = [self.scrollView convertRect:rect1 fromView:self.imageView];
[self.scrollView zoomToRect:scrollViewRect animated:YES]
}
【问题讨论】:
标签: ios objective-c uiscrollview uiimageview uiimage