gpt4 book ai didi

ios - 假 UINavigationController 幻灯片动画

转载 作者:行者123 更新时间:2023-11-29 12:06:25 25 4
gpt4 key购买 nike

我正在创建一个应用程序,我需要有很多导航 Controller ,并且在每个导航 Controller 中,除了两个 uilabel 之外,我的所有元素(按钮、图像等)都相同。客户希望在像 instagram 应用程序那样的导航 Controller 之间切换时有“滑动”动画。我想知道是否有可能“模拟”两个导航 Controller 的切换并仅更改 uilabels

最佳答案

如果很多 UIViewControllers 有相同的 UIBarButton 项目,我强烈建议你有一个共同的父类(super class),如“BaseViewController”。每个 UIViewController 都是 BaseViewController 的子类,而不是标准 UIViewController 的子类。

使用此模式,您可以通过添加始终存在的按钮和图像来配置 BaseViewController 上的默认 UINavigationBar,并仅在需要时自定义它(通过添加您正在谈论的 UILabel)

instagram 动画是您通过将新的 UIViewController 推送到 navigationController 堆栈上实现的默认 iOS 动画:

[self.navigationController pushViewController:controller animated:YES];

在评论区回复你的问题:

它已经是从左到右,但如果你愿意,你也可以从右到左设置动画。检查一下:

YourViewController  *pageView = [[YourViewController alloc] initWithNibName:@"YourViewController" bundle:nil];

CATransition *transition = [CATransition animation];
transition.duration = 0.45;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
transition.type = kCATransitionFromLeft;
[transition setType:kCATransitionPush];
transition.subtype = kCATransitionFromLeft;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController pushViewController:pageView animated:NO];

关于ios - 假 UINavigationController 幻灯片动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841732/

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