用动画呈现视图
Posted
技术标签:
【中文标题】用动画呈现视图【英文标题】:Present a view with animation 【发布时间】:2013-06-18 16:01:24 【问题描述】:我不想像现在那样做self.view = view;
,而是想用动画呈现这个视图。它不是一个完整的视图控制器,而只是一个视图,我只是在单击按钮时用此视图替换当前视图。
有没有办法做到这一点动画?
提前致谢。
【问题讨论】:
【参考方案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
以防止子视图超出其范围。以上是关于用动画呈现视图的主要内容,如果未能解决你的问题,请参考以下文章