菜鸟教程小白 发表于 2022-12-12 09:54:49

iphone - 使用 block 排队动画


                                            <p><p>在我的 <code>didSelectRowAtIndexPath</code> 方法中,当用户选择一个单元格时,我会调用 <code>;</code> 以便在 View 已呈现时关闭该 View 。这显然不是非常理想的,并且它在没有动画的情况下覆盖了 presentView 方法。有一个更好的方法吗?或者至少让它等待 View 完成动画而不使用 NSTimer。</p>

<pre><code>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
    ;

// Do xyz...

;
</code></pre>

<p>那么..</p>

<pre><code>- (void)presentView:(id)sender
{
    twitterLinksView.frame = CGRectMake(0, (self.view.frame.size.height + viewHeight), 320, 300);


    [UIView animateWithDuration:0.60f animations:^{


      CGRect twitterLinkFrame   = self.twitterLinksView.frame;
      twitterLinkFrame.origin.y = (self.view.frame.size.height - viewHeight);

      twitterLinksView.frame = twitterLinkFrame;
    }];
}

- (void)dismissView
{

    [UIView animateWithDuration:0.75f animations:^{

      CGRect twitterLinkFrame   = self.twitterLinksView.frame;
      twitterLinkFrame.origin.y = (self.view.frame.size.height + viewHeight);

      self.twitterLinksView.frame = twitterLinkFrame;
    }];
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><pre><code>[UIView animateWithDuration:1. animations:^{

   //firstAnimationBlock

    } completion:^(BOOL finished){
      [UIView animateWithDuration:1. animations:^{

//animations in this block will be called after firstAnimationBlock has expired
      }];
    }];
</code></pre>

<p>据我了解,您想要一个接一个地触发 2 个动画。这段代码( block 内的 block )使这个</p>

<p>这部分是经过编辑的:
好的,现在你可以尝试这样写</p>

<pre><code>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
    ;

// Do xyz...

;

//;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 使用 block 排队动画,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15668375/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15668375/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 使用 block 排队动画