如何慢慢隐藏UI元素

Cod*_*ier 4 iphone xcode interface-builder

我有一个子视图,我想在隐藏和未被按钮隐藏之间切换.如何淡化子视图并将其淡出?现在它只是立即出现并在我切换按钮时立即消失.

我想知道这个动画最简单的方法是什么.谢谢

Kyl*_*yle 6

在iOS 4.0+上,Apple建议您使用新的基于块的动画方法.使用这些,代码看起来像这样:

[UIView animateWithDuration:2.0
 animations:^{myView.alpha = 0.0;}];
Run Code Online (Sandbox Code Playgroud)

您正在动画的属性进入块(^{...}部分).块有点像函数,因此如果要为多个属性设置动画,可以在其中放置多行代码.例如:

[UIView animateWithDuration:0.2
 animations:^{
  view.alpha = 0.0;
  view.backgroundColor = [UIColor redColor];
 }];
Run Code Online (Sandbox Code Playgroud)

如果需要在动画完成后执行操作,请使用+animateWithDuration:animations:completion:方法(也使用块),例如:

[UIView animateWithDuration:0.2
 animations:^{view.alpha = 0.0;}
 completion:^(BOOL finished){ [view removeFromSuperview]; }];
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看UIView类参考 "动画"部分和"使用块动画视图"部分.