【发布时间】:2015-09-03 14:25:27
【问题描述】:
我有一个场景,我需要在导航栏中添加动画,但模拟器没有动画。我添加了一个 UIView,添加了一个标签/文本字段并为约束创建了出口,并使用“UIView animateWithDuration:”更新它们,相反,模拟器只是更新约束并相应地显示视图,但没有任何动画。我已经通过修改约束和框架(分别)进行了尝试。
[self.view layoutIfNeeded];
[UIView animateWithDuration: 3
delay: 0.0
options: UIViewAnimationOptionCurveEaseInOut
animations: ^{
self.constraint.constant += 60;
NSLog(@"inside animation");
[self.view layoutIfNeeded];
}
completion:nil];
当我在 viewDidLoad: 中将宽度约束增加“60”时显示。而且它是非动画的。
当我通过单击按钮配置约束(将宽度增加“60”)时,即使是静态更新也不会发生。
不过,相同的代码在 UIView 内的导航栏之外也能完美运行。
感谢任何帮助...
【问题讨论】:
-
你为什么不试试自定义导航栏?
-
您是否尝试过向导航栏添加 uiview 并在该视图中制作动画?
-
@T_77 是的,我就是这么做的。对不起,我忘了提。我在导航栏中添加了一个 UIView 并在其顶部添加了标签。另外,这不是因为我的代码混乱。我用一个新项目试了一下,结果是一样的:(
-
@manish_kumar 嗯.. 我会试试的。但是,您为什么认为自定义导航可以解决问题?
-
自定义导航栏是指
UIView,它将用作导航栏。通过这种方式,您可以轻松地工作并添加您想要的任何功能。
标签: ios objective-c animation uinavigationbar quartz-core