gpt4 book ai didi

iphone - 如何在两个以上的 UIView 之间做翻转动画?

转载 作者:太空狗 更新时间:2023-10-30 03:50:25 26 4
gpt4 key购买 nike

我在扩展 UIView 的类中有动画代码:

// Start Animation Block
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];

//int nextView = currentView + 1;
// Animations
[[self superview] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
//And so I would do: [[self superview exchangeSubviewAtIndex:currentView withSubviewAtIndex:nextView];
//Doesn't work because curentView is not global... with each instance of a class it's reset to what it's instanciated to.
//currentView++;

// Commit Animation Block
[UIView commitAnimations];

此动画代码适用于两个 View 。但我正在尝试为许多观点这样做。我尝试通过添加一个全局变量(nextview 索引和 currentView 索引),但这不起作用,因为每个自定义 View 类都有它自己的实例并且这些变量不共享。

有谁知道我怎样才能完成我想做的事?

谢谢!

编辑:如果我可以使用 [self superview] 访问当前 View 和下一个 View 的索引,我就可以做到这一点。有一些方法可以做到这一点吗?

最佳答案

Apple 有一个很好的 View 转换教程 here .除了他们实现它们的方式之外,您还可以查看使用 UINavigationController 来管理一堆 View 并在它们之间进行转换。

本质上,您需要在父 View 而不是 View 中管理转换 - 父 View 可以知道它当前显示的是谁以及下一个显示的是谁。

关于iphone - 如何在两个以上的 UIView 之间做翻转动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238654/

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