【问题标题】:UIView Transition like Contacts.appUIView 过渡,如 Contacts.app
【发布时间】:2013-06-27 10:08:09
【问题描述】:

我对转换 UIView 感兴趣,类似于在联系人上点击编辑时联系人应用程序执行此操作的方式。 You can see a [crummy] GIF 供参考。已经定义的值滑入它们要编辑的位置,新的字段淡入。

我浏览了 UIView 转换文档,但没有看到如何做到这一点。 UIViewAnimationOptionTransitionCrossDissolve 不完全是。我想我可以将每个字段设置为动画,然后淡入全视图,但这似乎是错误的做法。

【问题讨论】:

标签: cocoa-touch uiviewanimation uiviewanimationtransition


【解决方案1】:

Contacts.app 绝对看起来像 UITableViewAnimation,正如 RazorSharp 在上面的评论中所说。如果您不使用UITableView,则必须手动完成效果。

【讨论】:

    【解决方案2】:

    好的,我基本上想要与联系人应用程序相同的过渡。我注册了 2 个单元格,一个用于查看使用 UILabels,另一个用于编辑,其中包含 UITextField。我认为在cellForRowAtIndexPath 中切换单元格标识符取决于我是否正在编辑。为了获得我使用的淡入淡出动画

    -(void)setEditing:(BOOL)editing animated:(BOOL)animated
    {
        [super setEditing:editing animated:animated];
        [UIView transitionWithView: self.tableView
                      duration: 0.35f
                       options: UIViewAnimationOptionTransitionCrossDissolve
                    animations: ^(void)
         {
             [self.tableView reloadData];
         }
                    completion: nil];
    }
    

    这取自以下问题

    Have a reloadData for a UITableView animate when changing

    这会产生微妙的淡化。我发现的另一个选择是打电话 [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];

    类似的效果,但我认为它不太干净

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      相关资源
      最近更新 更多