防止查看出现动画
Posted
技术标签:
【中文标题】防止查看出现动画【英文标题】:prevent to view appear with animmation 【发布时间】:2015-10-30 09:58:20 【问题描述】:我的自定义导航栏第一次出现动画时遇到了问题。我认为它的发生是因为我使用了自动布局,它会自行将其设置为横向或纵向状态。但我想要一个功能,在我第一次进入屏幕后,一切都静止了,它属于哪里。之后,如果我转动屏幕或做某事,所有的动画都会像现在这样。
当视图创建自己时省略第一个动画有什么好的想法吗?
动画是:标签从左到右浮动。并且 1 个标签从 0px 宽度和高度显示为 100% 宽度和高度
代码:
[self.navigationController.navigationBar addSubview:self.topBar];
self.topbar 是 UIView。我已将它添加到阻止 [UIView performWithoutAnimation:^ ];
但它没有帮助,每次第一次出现视图时,我的标签都会从左到右浮动。
【问题讨论】:
能否请您添加一些代码或图片以便我们了解场景? @Nik 嗨,场景是我在导航栏中有 3 个标签,即 UI 视图。它第一次出现动画从左到右浮动。 UI 视图是在 interfacebuilder 中创建的,它只链接动作,但我必须支持横向和纵向方向,这会将一个约束从宽度/3 缩小到 50(它是动画的),但第一个动画很奇怪。我没有他们的代码:(如果不清楚,请询问 【参考方案1】:答案是我用了一些方法[self layoutIfNeeded];
设置约束后。解决方案是设置这样的方法:
- (void) yourAnimation:(BOOL)animated
if(animated)
[UIView animateWithDuration:0.3 animations:^
//your animated code
//[self layoutIfNeeded];
];
else
[UIView performWithoutAnimation:^
//your stuff without animation
];
【讨论】:
以上是关于防止查看出现动画的主要内容,如果未能解决你的问题,请参考以下文章
如何防止这种奇怪的 jQuery .animate() 滞后?