gpt4 book ai didi

objective-c - [UIView transitionWithView...] 和 [UIView transitionFromView...] 的区别

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:13 25 4
gpt4 key购买 nike

我目前有一个包含在 View 中的 View 。主视图 Controller (父 View )有一个属性,该属性在界面生成器中连接到 subview 。 subview 包含一个按钮。我希望按钮在保持主视图静止的同时翻转 subview 。我目前在按钮的 IBAction 中有以下代码:

[UIView transitionWithView: self.subViewFront
duration: 1.0
options: UIViewAnimationOptionTransitionFlipFromTop
animations: nil
completion: nil];
[UIView commitAnimations];
[[self view] addSubview: self.subViewBack;

此代码运行良好,但在查看 Apple 的 API 引用时我注意到以下内容:

Use of the methods in this section is discouraged in iOS 4 and later. Use the block-based animation methods instead.

按照这个建议,我尝试使用以下代码:

[UIView transitionFromView: self.subViewFront
toView: self.subViewBack
duration: 1.0
options: UIViewAnimationOptionTransitionFlipFromTop
completion: nil];

它看起来应该与我最初编码的一样,但是,当我使用这段代码运行我的应用程序时,它会翻转我的整个 View (父 View 和 subview ),而不仅仅是 subview 。这种方法应该用作我使用的原始方法的替代品,还是我遗漏了什么?谢谢。

最佳答案

我遇到了同样的问题(父级改为动画),但通过将两个 View (subViewFrontsubViewBack)添加到容器 View 来解决它。

因此,将您的两个 View 添加到容器 UIView 中,然后使用 -transitionFromView:... 就像您的示例所说:

UIView *container = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease];
[self.view addSubview:container];

...

[container addSubview:self.subViewFront];
[container addSubview:self.subViewBack];

关于objective-c - [UIView transitionWithView...] 和 [UIView transitionFromView...] 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8205213/

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