UIView 过渡动画
Posted
技术标签:
【中文标题】UIView 过渡动画【英文标题】:UIView Transitions Animations 【发布时间】:2009-10-13 06:16:11 【问题描述】:大家好,
SecondView *sv=[[SecondView alloc] initWithNibName:@"SecondView" bundle:nil]; [self presentModalViewController:sv 动画:YES];
我喜欢将默认动画(从底部弹出)更改为淡入淡出或 UIViewAnimationCurveEaseInOut
提前致谢
【问题讨论】:
【参考方案1】:来自apple's iphone dev site的文档:
设置 modalViewController 属性 到指定的视图控制器。 调整其视图大小并将其附加到 视图层次结构。观点是 根据过渡动画 中指定的样式 modalTransitionStyle 属性 modalViewController 中的控制器 参数。
如果您想使用 Apple 提供的功能,您可以选择以下方法:
typedef enum
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStyle;
其他任何事情,您都必须手动完成,这并不难。首先在当前或新的视图控制器中加载新视图。将其设置为初始状态,启动动画块,调用:
+ (void)beginAnimations:(NSString *)animationID context:(void *)context
然后做任何你想做的转换:
+ (void)commitAnimations
有关 UIView 文档的更多信息:
UIView Class Reference
【讨论】:
【参考方案2】:看看UIViewController Class Reference。基本上你需要的是:
sv.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
【讨论】:
有没有办法实现类似于我们使用 UINavigationController 时得到的动画的动画(从左侧滑入)?以上是关于UIView 过渡动画的主要内容,如果未能解决你的问题,请参考以下文章
UIView.animateKeyframes 跳转到下一个动画的开始而不是平滑过渡
通过将 UIView 过渡添加到 UIStackView 来制作动画