Q
如何隐藏UI元素
4
A
回答
6
在iOS 4.0+上Apple建议您使用基于块的新动画方法。利用这些,代码会是这个样子:
[UIView animateWithDuration:2.0
animations:^{myView.alpha = 0.0;}];
您设置动画的块往里走的特性(^{...}
部分)。块有点像函数,所以如果你想动画多个属性,你可以在其中放入多行代码。例如:
[UIView animateWithDuration:0.2
animations:^{
view.alpha = 0.0;
view.backgroundColor = [UIColor redColor];
}];
如果您需要在动画完成后要执行的操作,使用+animateWithDuration:animations:completion:
方法(也使用块),例如:
[UIView animateWithDuration:0.2
animations:^{view.alpha = 0.0;}
completion:^(BOOL finished){ [view removeFromSuperview]; }];
欲了解更多信息,请查看UIView Class Reference'动画'部分和'带块动画视图'部分。
2
这是旧的4.0版本之前的方式:
http://objcolumnist.com/2009/07/18/simple-uiview-based-animations-on-the-iphone/
...其中有在概念简单,易于实现的优点。
float alpha = 1.0; // or 0.0 if it's already visible and you want to fade out
[UIView beginAnimations:@"" context:NULL];
[UIView setAnimationDuration:2.0]; // seconds, not ms. guess how i know?
[mySubView setAlpha:alpha];
[UIView commitAnimations];
相关问题
- 1. 隐藏元素点击隐藏元素
- 2. Php如何隐藏元素
- 3. 如何隐藏svg元素
- 4. semantic-ui隐藏移动视图元素
- 5. Meteorjs:无法隐藏UI元素
- 6. jQuery UI不会隐藏元素
- 7. 为什么jQuery UI隐藏隐藏父元素?
- 8. 隐藏元素
- 9. 隐藏元素
- 10. 隐藏元素
- 11. 如何在调试中隐藏xaml ui元素
- 12. 如何使用BackgroundWorker来显示/隐藏WPF UI元素?
- 13. 为何隐藏新元素附加到的旧元素时隐藏新元素?
- 14. Mouseleave隐藏元素?
- 15. UIWebView隐藏元素
- 16. 隐藏p元素
- 17. 隐藏html元素
- 18. 隐藏的元素?
- 19. Android:隐藏元素
- 20. 用AJAX显示/隐藏JSF元素后如何隐藏触发元素?
- 21. 当隐藏元素时隐藏值
- 22. Zend隐藏的元素:隐藏html值
- 23. 如何隐藏一组td元素?
- 24. 如何使用JQuery隐藏元素?
- 25. 如何在加载后隐藏元素?
- 26. 如何隐藏多个元素
- 27. 如何隐藏上级元素?
- 28. 如何用jquery隐藏这个元素?
- 29. 如何使用jquery隐藏父元素?
- 30. 如何隐藏设计师的元素?
这很好,但有没有办法控制动画的速度?目前它仍然有点快。谢谢 – Codier 2011-05-09 23:47:34
调整'setAnimationDuration'浮点值来扩展/缩短动画'[UIView setAnimationDuration:2.0f];' – dredful 2011-05-10 00:02:42
谢谢,'dredful'。我觉得那里缺少一些东西。 :) – MusiGenesis 2011-05-10 00:51:30