• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 使用 block 排队动画

[复制链接]
菜鸟教程小白 发表于 2022-12-12 09:54:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath;
{
    [self dismissView];

// Do xyz...

[self presentView:twitterLinksView];

那么..

- (void)presentViewid)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;
    }];
}



Best Answer-推荐答案


[UIView animateWithDuration:1. animations:^{

     //firstAnimationBlock

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

//animations in this block will be called after firstAnimationBlock has expired
        }];
    }];

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

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

- (void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath;
{
    [self dismissView];

// Do xyz...

[self performSelectorselector(presentView withObject:twitterLinksView afterDelay:0.75];

//[self presentView:twitterLinksView];
}

关于iphone - 使用 block 排队动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668375/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap