gpt4 book ai didi

iphone - 加载 View 时导航栏跳跃

转载 作者:行者123 更新时间:2023-12-01 16:56:59 30 4
gpt4 key购买 nike

我已经实现了一个容器 View Controller (ios5),现在我尝试实现自定义动画/转换来切换 View Controller 。

但是在实现任何涉及 UINavigationController 的动画时,我遇到了一个问题,结果不符合预期。例如,如果我在显示带有导航栏的 Controller 时从左侧翻转动画,导航栏的位置会保持在原始位置下方 44pxs 并且在执行动画后导航栏将平滑地移动到原始位置,这确实是丑陋...

我执行的每个动画都会发生这种情况,所以我想它必须只与导航 Controller 相关。

这是我用于翻转过渡的代码

[self transitionFromViewController:fromViewController
toViewController:toViewController
duration:1.0
options:UIViewAnimationOptionTransitionNone
animations:^{
[UIView beginAnimations:@"animation2" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration: 0.7];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:containerView cache:NO];
[UIView commitAnimations];
}
completion:^(BOOL finished) {
[toViewController didMoveToParentViewController:self];
[fromViewController removeFromParentViewController];
}];

我还尝试了以下
[self transitionFromViewController:fromViewController
toViewController:toViewController
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
}
completion:^(BOOL finished) {
[toViewController didMoveToParentViewController:self];
[fromViewController removeFromParentViewController];
}];

最佳答案

根据 iphone 或 ipad 的导航栏框架及其方向设置为 iphone 中的纵向

 [self.navigationController.navigationBar setFrame:CGRectMake(0, 20, 320, 44)]; //for iphone  simarly for ipad and its orientation

您需要将导航栏框架从状态栏更改为其实际位置,即加 20

关于iphone - 加载 View 时导航栏跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878239/

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