【问题标题】:Present a view with animation用动画呈现视图
【发布时间】:2013-06-18 16:01:24
【问题描述】:

我不想像现在那样做self.view = view;,而是想用动画呈现这个视图。它不是一个完整的视图控制器,而只是一个视图,我只是在单击按钮时用此视图替换当前视图。

有没有办法做到这一点动画

提前致谢。

【问题讨论】:

    标签: ios objective-c view uiview animated


    【解决方案1】:

    尝试类似:

    UIView *newView = ...;
    // new view is added as a subview somewhere
    
    newView.alpha = 0;
    
    [UIView animateWithDuration:1
                     animations:^{
        newView.alpha = 1;
    }];
    

    这将使视图淡入。您还可以查看animateWithDuration:delay:options:animations:completion:,它提供了其他动画选项。或transitionFromView:toView:duration:options:completion:

    【讨论】:

    • 有没有办法做这样的事情,但滑入?就像故事板中的转场一样。
    • 当然,您可以将初始帧设置为屏幕外(上面的 alpha 设置为 0),并在动画块中将帧设置为屏幕上的最终位置(alpha 设置为1 以上)。
    • 啊...使用view.frame = CGRectMake(0,0,0,0); 然后view.frame = CGRectMake(0,0,320,480); 类似的东西?
    • 这似乎有效,我应该在哪里添加东西到视图中,标签和按钮在动画完成之前出现。
    • 将帧大小设置为 0, 0 您需要小心一点,因为自动调整大小/自动布局规则将发挥作用,因此您需要确保它们是正确的。您可能还需要在视图上设置clipsToBounds 以防止子视图超出其范围。
    猜你喜欢
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2013-03-25
    相关资源
    最近更新 更多