gpt4 book ai didi

iphone - 用动画替换 window.rootViewController 部分有效

转载 作者:可可西里 更新时间:2023-11-01 03:37:34 24 4
gpt4 key购买 nike

我正在尝试用动画替换窗口 rootViewController,但它只能部分工作。

我以编程方式创建一个 UINavigationController -

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"InboxStoryboard" bundle:nil];

UIViewController *innerViewController = [storyBoard instantiateViewControllerWithIdentifier:@"centerView"];
UINavigationController *centerView = [[UINavigationController alloc] initWithRootViewController:innerViewController];

然后我替换了包裹在动画 block 中的窗口 Root View Controller -

[UIView transitionWithView:self.viewController.view.window
duration:0.5
options: UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
self.viewController.view.window.rootViewController = centerView;
}
completion:nil];

发生的情况是动画发生但我创建的 Controller 仅部分可见,请看下图 -

因此,正如您所见,在旋转过程中, View 仅部分呈现。

以前有人遇到过这种行为吗?

最佳答案

所以在长时间搜索后我发现问题出在[UIView transitionWithView:...]在 stackoverflow 中搜索更多,我发现 Swapping rootViewController with animation

使用 [UIView transitionFromView:..] 效果很好。

新代码-

[UIView transitionFromView:self.window.rootViewController.view
toView:self.centerViewController.view
duration:0.5
options:UIViewAnimationOptionTransitionCurlUp
completion:^(BOOL finished)
{
self.window.rootViewController = self.centerViewController;
}];

关于iphone - 用动画替换 window.rootViewController 部分有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13332836/

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