【发布时间】:2012-08-13 14:02:47
【问题描述】:
我有一个UIViewController,它有多个子视图。每个子视图都是UIView 子类,我想通过点击工具栏按钮在视图之间切换。我通过使用动画块来做到这一点:
例子:
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{
[StoreView removeFromSuperview];
[self.view addSubview:HomeView];
}
completion:NULL];
实际上一切正常。问题是过渡并不是很顺利。例如,HomeView 有五个分散的按钮(作为设计的一部分),每当我从一个视图切换到HomeView 时,这些按钮会从一个角落出来并在转换后重新排列,这不是很漂亮看看。
那么我将如何使这些按钮保持原位?
【问题讨论】:
-
如果您应该展示您正在尝试实现的目标的屏幕截图或模型以及您现在获得的图片,您可能会得到一些答案。
-
我不太清楚你的问题是什么......我认为你的问题现在没有足够的信息。您是否尝试过使用
[UIView transitionFromView:HomeView toView:StoreView duration:0.75 options:UIViewAnimationOptionTransitionFlipFromRight completion:nil];?这将替换您当前的动画块。 -
另外,这取决于
StoreView中包含的内容。这只是一个普通的视图吗?它是否包含来自网络的数据?它是否包含高分辨率图像?解决方案因问题而异。 -
StoreView不是问题所在。它完美地显示出来。没有任何延误。HomeView是我唯一关心的一个。HomeView包含自定义的UIButtons,其中包含图像。基本上,这些 UIButton 会将我重定向到其他视图。这些其他视图实际上不包含除 Home 按钮之外的任何按钮,因此当我从HomeView动画到另一个视图时没有问题。至于截图,我很乐意提供,但我很难捕捉到一张,因为它发生得非常快。
标签: objective-c ios uiview uiviewcontroller core-animation