gpt4 book ai didi

iphone - 如何阻止标签栏破坏我的翻转转换?

转载 作者:行者123 更新时间:2023-12-03 19:01:19 27 4
gpt4 key购买 nike

我创建了一个 iOS 选项卡栏应用程序,其中一个选项卡中带有导航 Controller 。当它从堆栈中推送或弹出 View 时,它使用翻转动画(我找到了如何做到这一点 here )。

除了标签栏有问题之外,它看起来很棒。堆栈根部的 View 显示选项卡栏,但对于下一个 View ,我将 hidesBottomBarWhenPushed 设置为 YES。插入效果很好;问题又回到了 Root View Controller 。我的 View 从左侧翻转,除了滑入的选项卡栏。

这是我弹出 View Controller 的代码:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self.navigationController.view
cache:NO];
[UIView setAnimationDuration:flipDuration];
[self.navigationController popViewControllerAnimated:NO];
[UIView commitAnimations];

奇怪的是,如果我注释掉除第四条语句之外的所有语句,选项卡栏就会自行运行 - 它不会滑入,它只是立即与其余语句一起出现。出于某种原因,添加过渡允许标签栏对自己说:“好吧,其他人都是动画的。”为什么我不应该动画化?但没有为我翻转小马。我想我会坚持看幻灯片。”

我能做什么?理想情况下,我希望标签栏与其余部分一起翻转,但我也很高兴它随后淡入。

最佳答案

我明白了!在查看了这个问题以及另一个问题的另一个答案后,我找到了解决方案。

在您想要推送转换的 Controller 中,使用以下代码:

[UIView transitionWithView:[[self navigationController] view]
duration:0.3
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{
[[self navigationController] pushViewController:theView animated:NO];
} completion:NULL];

在您看来,您想要转换回来,请使用以下代码:

[UIView transitionWithView:[[self navigationController] view]
duration:0.3
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
[[self navigationController] popViewControllerAnimated:NO];
} completion:NULL];

这可以防止转换与 tabBar 混淆。试一试!

关于iphone - 如何阻止标签栏破坏我的翻转转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501786/

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