gpt4 book ai didi

animation - UINavigationBar 在 TransitionFromViewController 期间跳跃 20 像素

转载 作者:行者123 更新时间:2023-12-02 23:15:44 26 4
gpt4 key购买 nike

在尝试使用 Apple 的 UIViewController 遏制时,我遇到了两个 UIViewController 之间的过渡动​​画问题。

这是设置...我创建了一个 UITabBarController,并在其中一个选项卡中创建了一个 UIViewController 作为容器。此 ViewController 管理 UIViewController 和 UINavigationController 之间的转换。之前的 View 是:

Display of VC 1

当点击“下一步”按钮时, View 将开始使用“flipFromRight”过渡进行过渡。在转换期间,导航栏位于“至” View 中,但位于距 View 顶部边缘 20 像素处。下图:

enter image description here

绿色是容器 View 的背景色。一旦新 View 完成转换,导航栏就会弹出到 View 顶部,最终结果是:

Final state

捕捉到位的时间与动画的持续时间无关。我达到了我想要的最终状态,但转换是一个问题。

我已经检测了 viewController 生命周期,并且导航栏和 UITableView 的框架如 XIB 中所指定。 xib 看起来像这样:

xib Configuration of View

这是代码:

在-viewDidLoad中-

_fromVC = [[FromVC alloc] initWithNibName:@"FromVC" bundle:nil delegate:self];

[self addChildViewController:_fromVC];
[self.view addSubview:_fromVC.view];
[_fromVC didMoveToParentViewController:self];

在我的按钮处理程序中 -

- (void)buttonSelected

{

//
// Create the "to" View controller
//
ToVC *toVC = [[ToVC alloc] initWithNibName:@"ToVC" bundle:nil];

//
// Create the navigation controller for the study activity
//
_toNavCon = [[UINavigationController alloc] initWithRootViewController:toVC];

[self addChildViewController:_toNavCon];
[_fromVC willMoveToParentViewController:nil];

[self transitionFromViewController:_fromVC
toViewController:_toNavCon
duration:0.7
options:UIViewAnimationOptionTransitionFlipFromRight
animations:nil
completion:^(BOOL finished) {
[_fromVC removeFromParentViewController];
[_toNavCon didMoveToParentViewController:self];
}];

}

“to” View Controller 中没有代码可以更改 View Controller 的外观。

另一点信息...当我在模拟器中“切换通话中状态栏”时,导航栏顶部的间隙就是通话中状态栏的高度。

我已经查看了网络上的所有内容,但没有任何帮助。有谁见过这个并且有人修复它吗?

最佳答案

我确实找到了答案!子类 UINavigationController 并覆盖

- (BOOL)wantsFullScreenLayout{

return NO;

}

显然,UINavigationController 和 UITabController 总是想要全屏(默认是 YES) - 调整状态栏 - 并且您不能以任何其他方式设置此属性。它一直对我有用。

关于animation - UINavigationBar 在 TransitionFromViewController 期间跳跃 20 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795645/

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