首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >放大UIImageView和UIImageView.center

放大UIImageView和UIImageView.center
EN

Stack Overflow用户
提问于 2012-10-17 00:09:23
回答 1查看 1.1K关注 0票数 2

尝试放大/缩小imageView。

我已经成功地做到了这一点,所以现在我正在尝试将一些按钮放在视图上,当按下按钮时,可以在该区域进行缩放。

我该如何实现它呢?

到目前为止,以下是我的代码

代码语言:javascript
复制
-(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];
    }


}

视图确实加载了

代码语言:javascript
复制
- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *buttonView = [[UIView alloc]initWithFrame:CGRectMake(00.0, 20.0, 768, 1004.0)];

    zoomHere = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [zoomHere addTarget:self
               action:@selector(zoomHere:)
     forControlEvents:UIControlEventTouchDown];
    [zoomHere setTitle:@"ZoomIN" forState:UIControlStateNormal];
    zoomHere.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
    [buttonView addSubview:zoomHere];

    buttonView.multipleTouchEnabled = YES;

    [self.view addSubview:buttonView];


}

它仍然会放大,但不会在屏幕上按钮所在区域!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-17 00:24:17

如果要使用缩放变换,则可能还应使用平移变换

如下所示:

代码语言:javascript
复制
CGAffineTransform scale = CGAffineTransformMakeScale(1.05, 1.05);
CGAffineTransform translate = CGAffineTransformMakeTranslation(10, 20);
CGAffineTransform delta = CGAffineTransformConcat(scale, translate);
imageView.transform = CGAffineTransformConcat(imageView.transform, delta);

这就是你如何知道按钮在你的图像视图中的位置:

代码语言:javascript
复制
[imageView convertPoint:button.center fromView:self.view]

因此,如果您知道按钮的坐标和当前比例,则可以计算新的平移变换

但对我来说,我更喜欢使用滚动视图来放大和缩小图像视图。你可以有漂亮的弹跳动画和缩放动画,你也可以有平移和收缩,但当然这是由你决定的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12918945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档