gpt4 book ai didi

ios - 推送没有阴影和停电的动画

转载 作者:可可西里 更新时间:2023-11-01 04:38:58 25 4
gpt4 key购买 nike

我有一个简单的基于 iOS NavigationController 的应用程序。两个 UICollectionViews,一个接一个。如果单击“第一个集合” 上的元素,将打开“第二个集合”。很简单。

重要提示:

“两个 UICollectionViews 都有透明背景。使用了 navigationController 的一般背景颜色。(从 UINavigationController 继承的类)

问题:如果理解正确,NavigationController 的 push 方法根据算法工作:

  1. 已创建推送 View 。
  2. 透明灰色叠加层推送 View 上创建的。
  3. NavigationController 使用标准动画推送 View 。 (灰色覆盖仍然存在)
  4. 灰色叠加层消失。

(如果推送 View 具有透明背景,则会看到一条灰色垂直线)

Screenshot

下一步:我试图通过覆盖 push 方法来解决这个问题。这是我得到的:

- (void)pushViewController:(UIViewController *)viewController 
animated:(BOOL)animated
{
CATransition *transition = [CATransition animation];
transition.duration = 0.45;
transition.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
transition.fillMode = kCAFillModeForwards;
transition.delegate = self;
[self.view.layer addAnimation:transition forKey:nil];

[super pushViewController:viewController animated:animated];
}

这种方式创建了自己的推送动画,但使用了另一个标准动画,我无法将其删除。 (显示和隐藏 View 时停电)

Screenshots_1_and_2

问题:“我如何推送 ViewController,而不使用淡入淡出、停电和其他动画过滤器?”

具有主题名称的解决方案(在 stackoverflow.com 上)

  • iOS 7 UINavigationController 推送动画阴影
  • iOS 7 在导航的自定义动画中显示黑色背景

不工作。

最佳答案

不要覆盖 push 方法。 iOS7 允许您为自定义过渡提供动画 Controller 。参见 here更多细节。

关于ios - 推送没有阴影和停电的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396777/

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