2012-02-14 24 views
0

我看到这用了很多,但我不知道它做了什么。“动画”意味着什么和/或用于什么?

animated:YES 

animated:NO 

例如,在viewDidLoad方法中,我可能有这样的代码

self.tableView.allowsSelectionDuringEditing = YES; 

,并在viewWillAppear中我可能有这样的代码

// some code here, and/or acondition is met, therefore put the tableview in editing mode 

[self setEditing:YES animated:NO]; 

所以再次,什么是animated:NO是什么意思? animated:NOanimated:YES有何区别?我在应用程序中看不到可见和/或功能差异。

回答

2

iOS可以对屏幕上的用户界面元素进行多种更改。例如,如果您在iPhone或iPod上打开设置应用程序,然后点击亮度行,亮度页面将滑动到屏幕上约0.25秒,而不是立即替换主设置页面。这是对用户界面的动画更改。当您将pushViewController:animated:消息发送到UINavigationControlleranimated参数设置为YES时,会发生此特定动画。

对于setEditing:animated:消息,您可以通过打开“电话”应用程序,选择“最近”选项卡,然后触摸“编辑”按钮来查看动画更改的示例。所有的行都向右滑动,隐藏了披露按钮并显示删除按钮。由于该消息的animated参数为YES,因此此更改的动画时间大约为0.25秒。如果animated参数为NO,那么行将立即更改以显示删除按钮,而不显示披露按钮。

+0

很好的答案,谢谢你的详细解释! PS - 想到两个问题,即.25秒可调?而且,这与'UITableViewRowAnimationFade'有什么关系?只是想知道...... – ElasticThoughts 2012-02-14 03:55:11

+1

你可以使用'+ [CATransaction setAnimationDuration:]'或'+ [UIView animateWithDuration:animations:]'来改变0.25秒,但我没有尝试过。你可以在'deleteRowsAtIndexPaths:withRowAnimation:'这样的消息中使用'UITableViewRowAnimationFade'常量作为'animation'参数。 – 2012-02-14 05:37:26

+0

再次感谢罗伯! – ElasticThoughts 2012-02-14 19:05:30