尝试订购内置的 UIAnimations,但没有太大成功

Posted

技术标签:

【中文标题】尝试订购内置的 UIAnimations,但没有太大成功【英文标题】:Trying to order built-in UIAnimations, not having much success 【发布时间】:2009-08-03 03:25:32 【问题描述】:

好的,我的 iPhone 应用中有一个如下所示的屏幕: (来源:matthewcave.com)

当触摸添加注释单元格时,我希望键盘消失,然后我希望它以模态方式显示编辑注释屏幕(它也有一个键盘,但我希望它在屏幕上重新显示动画)。

现在它可以立即为所有内容设置动画(键盘永远不会消失,它只是改变外观,并且新视图以模态方式显示动画,似乎在键盘下方)。整个效果运行正常,但有点生涩,我认为在屏幕上弹出模态视图之前滑下键盘会更顺畅。我已经看到其他应用程序做我想做的事情(例如事情),所以我知道这是可能的。

谁能指出我正确的方向,让每个过渡单独发生,而不是一次发生?

编辑:根据要求,这是我正在使用的一些代码。不幸的是,它在 Objective C 中的读法与在英语中的读法几乎完全相同。

  UITableViewController* tableViewController = (UITableViewController*)tableView.dataSource;

  AddNotesViewController* addNotesViewController = [[AddNotesViewController alloc] initWithWine:[self myWine]];

  UINavigationController* addNotesNavController = [[[UINavigationController alloc] initWithRootViewController:addNotesViewController] autorelease];

  // tell the name override cell to resign if they need to
  [(NewWineViewController*)tableView.dataSource resignNameCell];

  //I'd like the animation caused by the resign to complete before proceeding.

  [tableViewController.navigationController presentModalViewController:addNotesNavController animated:YES];

【问题讨论】:

你能发布你现在拥有的代码的sn-ps吗? 【参考方案1】:

认为这应该可行:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

    UITextField *textField = // the field that the keyboard is up for
    [textField resignFirstResponder];

    NSTimeInterval delay = 2.0; // i.e., until keyboard has disappeared
    [self performSelector: @selector(transitionToEditNotesScreen) withObject: nil afterDelay: delay];


- (void) transitionToEditNotesScreen

    // the code you have above to bring on the modal view controller        

在控制器中为您的编辑笔记屏幕添加以下代码。如果您希望在模态视图完全出现后重新启用键盘动画,请将其放在 viewDidAppear 中。否则,将相同的代码放在 viewDidLoad 或 viewWillAppear 中。

- (void) viewDidAppear: (BOOL) animated

    UITextField *textField = // the field you want the keyboard to be up for
    [textField becomeFirstResponder];

【讨论】:

只是好奇——你选择 viewDidAppear 还是 viewWillAppear?

以上是关于尝试订购内置的 UIAnimations,但没有太大成功的主要内容,如果未能解决你的问题,请参考以下文章

UIAnimations 响应 Swift 中的 MIDI 事件

订购数据实际上并不订购任何东西

按自定义字段值订购wordpress帖子?

Magento:从最低订单金额中排除类别

使用 JPQL/HQL 在 JPA 中订购连接获取的集合

低内存性能慢 - Swift