Ios 放大UIImageView和UIImageView.center
正在尝试放大/缩小图像视图 我已经成功地做到了这一点,所以现在我尝试在视图上放置一些按钮,当点击按钮时,可以放大该区域 我如何实现这一点 这是到目前为止我的代码Ios 放大UIImageView和UIImageView.center,ios,cocoa-touch,uiview,uiimageview,Ios,Cocoa Touch,Uiview,Uiimageview,正在尝试放大/缩小图像视图 我已经成功地做到了这一点,所以现在我尝试在视图上放置一些按钮,当点击按钮时,可以放大该区域 我如何实现这一点 这是到目前为止我的代码 -(void)zoomHere:(UIButton *)sender{ NSLog(@"zoom in"); //[self performSelector:@selector() // withObject:nil // afterDelay:1.6f];
-(void)zoomHere:(UIButton *)sender{
NSLog(@"zoom in");
//[self performSelector:@selector()
// withObject:nil
// afterDelay:1.6f];
CGAffineTransform transformer = CGAffineTransformScale(imageView.transform, 1.05, 1.05);
if (transformer.a < 5) {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.2];
imageView.transform = transformer;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
}
}
它仍然可以放大,但不能放大屏幕上按钮所在的区域 如果要使用缩放变换,可能还应该使用平移变换
如下所示:
CGAffineTransform scale = CGAffineTransformMakeScale(1.05, 1.05);
CGAffineTransform translate = CGAffineTransformMakeTranslation(10, 20);
CGAffineTransform delta = CGAffineTransformConcat(scale, translate);
imageView.transform = CGAffineTransformConcat(imageView.transform, delta);
这是您如何知道按钮在图像视图上的位置:
[imageView convertPoint:button.center fromView:self.view]
所以,如果您知道按钮的坐标和当前比例,那么您可以计算新的平移变换
,但对于我来说,我宁愿使用滚动视图来放大和缩小图像视图。你可以有很好的弹跳动画和缩放动画,也可以有平移和收缩,当然这取决于你。是的,我也试过了,但无法将按钮放置在滚动视图上方,并在放大时将其保持在原位。在我收到的第二个命令中,pinchalso破坏了我的缩小功能。在imageViewoh类型的对象上找不到视图抱歉,它应该是没有.view的imageView,并且应该使用self.view,因为你的按钮属于它。你能分享你正在尝试做的事情吗?不过我可能有另一个解决办法
[imageView convertPoint:button.center fromView:self.view]