菜鸟教程小白 发表于 2022-12-12 15:51:48

ios - 在同一中心位置缩放一个圆圈


                                            <p><p>我正在努力缩放圆并保持相同的中心位置,这看起来像 map 上的脉动圆。</p>

<p><strong>AnimationView.m</strong></p>

<pre><code>@property (nonatomic, strong) UIBezierPath *ovalPath;

- (void)drawCircle
{
    UIGraphicsBeginImageContext(self.frame.size);
    CGRect rect = CGRectMake(25.45, 49.25, 5.8, 5.8);
    self.ovalPath = ;
    ;
    UIGraphicsEndImageContext();
}

- (void)bumpUpCircle
{
    CAShapeLayer *pathLayer = ;

    pathLayer.frame   = self.bounds;
    pathLayer.path      = self.ovalPath.CGPath;
    pathLayer.fillColor = .CGColor;
    pathLayer.lineWidth = 2.0f;
    pathLayer.lineJoin= kCALineJoinBevel;
    ;

    CABasicAnimation *animation = ;
    animation.fromValue = ;
    animation.toValue = ;
    animation.repeatCount = 1;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    animation.duration = 1;
    animation.timingFunction = ;
    ;
    NSLog(@&#34;%@&#34;,NSStringFromCGPoint(self.bounds.origin));
}
</code></pre>

<p>但是,缩放位置在一个奇怪的位置,而不是圆的中心。 </p>

<p>任何想法将不胜感激。谢谢。</p>

<p>编辑:</p>

<p> <a href="http://imgur.com/tHAH9mr" rel="noreferrer noopener nofollow">GIF uploaded</a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我对你的脉冲圈建议是使用 <code>UIView</code> 并将其作为 subview 添加到你的 <code>UIViewController</code> 中。在下面的示例中,您会得到一个脉冲圆(一个 <code>UIView</code> 与一个 <code>cornerRadius</code> 类似半径)在几行中向上和向下缩放。包括这个,例如在你的 <code>UIViewController</code> 的 <code>viewDidLoad</code> 中尝试一下。</p>

<pre><code>int radius = 100;
UIView * circleView = [ init];
circleView.backgroundColor = ;
circleView.frame = CGRectMake(0, 0, radius*2, radius*2);
circleView.center = self.view.center;
circleView.layer.cornerRadius = radius;
;

[UIView animateWithDuration:0.8f
                      delay:0.0f
                  options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
               animations:^{
                     circleView.transform = CGAffineTransformMakeScale(1.1, 1.1);
               } completion:^(BOOL fin) {
                     // Do nothing
               }];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在同一中心位置缩放一个圆圈,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31487293/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31487293/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在同一中心位置缩放一个圆圈