如何用动画取消隐藏视图

Sno*_*man 15 iphone xcode cocoa-touch

假设我在Xcode for iOS中有隐藏视图.现在,当我将视图设置为不隐藏(view.hidden = NO)时,我如何才能使它现在出现,但是有动画?

mru*_*ueg 54

您可能想要的不是设置view.hidden,而是设置view.alpha0(对应于hidden = YES)或1(hidden = NO).

然后,您可以使用隐式动画来显示视图,例如

[UIView animateWithDuration:0.3 animations:^() {
    view.alpha = 1.0;
}];
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您想要其他动画而不仅仅是褪色,请使用此方法

[UIView transitionWithView:_yourView duration:1.0 options:UIViewAnimationOptionTransitionCurlDown animations:^(void){

            [_yourView setHidden:NO];

        } completion:nil];
Run Code Online (Sandbox Code Playgroud)


Ben*_*ayo 5

对于淡入淡出,您可以调整视图的alpha属性.

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

这将在0.5秒内对视图应用淡入淡出myView.许多UIView属性都是可动画的; 你不仅限于alpha衰落.您可以使用动画更改背景颜色,甚至旋转和缩放视图.如果您需要进一步的控制和高级动画,那么您可以进入Core Animation - 一个更复杂的动画框架.