gpt4 book ai didi

iphone - 将对象保持在 CoreAnimation 效果之上

转载 作者:行者123 更新时间:2023-12-03 20:55:24 25 4
gpt4 key购买 nike

当核心动画在其上运行时,是否可以将一个 View 保留在另一个 View 之上?

我正在从顶部和底部滑入和滑出 View 。目前,滑出的 View 滑过当前可见的所有其他 View 的顶部,我想知道是否可以使 View 保持在动画效果之上。

这是我现在拥有的动画之一的示例:

CATransition *push = [CATransition animation];
push.type = kCATransitionPush;
push.subtype = kCATransitionFromTop;
[self.grid.layer addAnimation:push forKey:kCATransition];

// Changes to the view here

[CATransaction commit];

我想要保持可见的 View 不与滑出的 View 的原始位置重叠。

这是屏幕布局的 ASCII 图表:

+------------------------------+ 
| View I want to keep on top |
|------------------------------|
| |
|------------------------------|
| View that will slide up |
| ^ ^ ^ ^ ^ ^ |
| |
| |
| |
| |
| |
| |
+------------------------------+

最佳答案

经过一番尝试后,我意识到 CoreAnimation 尊重 UIView 的自然堆叠顺序。这意味着如果在动画 View 之后添加 View ,它将被放置在顶部并且动画将在其后面发生。

要更改 View 的堆叠顺序,我可以使用以下消息:

- (void)bringSubviewToFront:(UIView *)view;
- (void)sendSubviewToBack:(UIView *)view;

UIView 的堆叠顺序函数和行为是 detailed in other questions and answers .

关于iphone - 将对象保持在 CoreAnimation 效果之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com