1

我正在为我的 iOS 应用程序上的视图进行转换。

我正在使用这种方式

   [UIView transitionWithView:self.view duration:0.5
                     options:UIViewAnimationOptionTransitionFlipFromRight
                     animations:^ { [self.view addSubview:mapa.view]; }
                     completion:nil];

它工作正常,但在某些视图中会导致故障。

例如,我有一个 2 页的视图UIScrollView,在动画期间看起来两个页面已合并,并且在动画完成时它变为正确。

我有很多UITableView背景颜色设置为 alpha 的视图,在动画期间它会变为没有 alpha 的白色。

有什么方法可以解决此问题或其已知问题吗?

也许 iOS 这样做是为了获得更好的 GPU 性能?

4

1 回答 1

1

您应该使用UIViewAnimationOptionAllowAnimatedContent,否则动画是使用快照生成的(通常忽略 alphas)

通过动态更改属性值并重绘视图来为视图设置动画。如果此键不存在,则使用快照图像对视图进行动画处理。

您的代码如下所示:

[UIView transitionWithView:self.view duration:0.5
                 options:(UIViewAnimationOptionTransitionFlipFromRight|UIViewAnimationOptionAllowAnimatedContent)
                 animations:^ { [self.view addSubview:mapa.view]; }
                 completion:nil];
于 2013-09-24T08:47:46.297 回答