菜鸟教程小白 发表于 2022-12-13 17:09:08

ios - 放大 UIImageView 和 UIImageView.center


                                            <p><p>尝试放大/缩小 imageView。</p>

<p>我已经成功地做到了,所以现在我尝试在 View 上放置一些按钮,并在点击按钮时放大该区域。</p>

<p>我该如何实现?</p>

<p>这是我目前的代码</p>

<pre><code>-(void)zoomHere:(UIButton *)sender{

    NSLog(@&#34;zoom in&#34;);
    //[self performSelector:@selector()
    //         withObject:nil
    //         afterDelay:1.6f];


    CGAffineTransform transformer = CGAffineTransformScale(imageView.transform, 1.05, 1.05);



    if (transformer.a &lt; 5) {
      ;
      ;
      imageView.transform = transformer;
      ;
      ;
    }


}
</code></pre>

<p> View 确实加载了</p>

<pre><code>- (void)viewDidLoad
{
    ;

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

    zoomHere = ;
    [zoomHere addTarget:self
               action:@selector(zoomHere:)
   forControlEvents:UIControlEventTouchDown];
    ;
    zoomHere.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
    ;

    buttonView.multipleTouchEnabled = YES;

    ;


}
</code></pre>

<p>它仍会放大,但不会放大按钮所在的屏幕区域!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果你想使用缩放变换,你可能也应该使用平移变换<br/>像这样:</p>

<pre><code>CGAffineTransform scale = CGAffineTransformMakeScale(1.05, 1.05);
CGAffineTransform translate = CGAffineTransformMakeTranslation(10, 20);
CGAffineTransform delta = CGAffineTransformConcat(scale, translate);
imageView.transform = CGAffineTransformConcat(imageView.transform, delta);
</code></pre>

<p>这是你如何知道按钮在你的 ImageView 上的位置:</p>

<pre><code>
</code></pre>

<p>因此,如果您知道按钮的坐标和当前比例,那么您可以计算新的平移变换<br/>但至于我,我宁愿使用 ScrollView 来放大和缩小该 ImageView 。你可以有很好的弹跳动画和缩放动画,也可以有平移和捏合,当然这取决于你。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 放大 UIImageView 和 UIImageView.center,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12918945/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12918945/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 放大 UIImageView 和 UIImageView.center