【问题标题】:UINavigationController push animation not smooth in iOS 7UINavigationController 在 iOS 7 中推送动画不流畅
【发布时间】:2013-12-31 07:37:53
【问题描述】:

我正在开发 ipad 应用程序,其中我使用 UINavigationController 推送另一个视图控制器。一切正常,除了推送动画不流畅。当我按下视图控制器时,当我将视图的背景颜色设置为clearColor 时,我可以看到前一个屏幕。

但这在 iOS 6 中可以正常工作。然后我注意到 iOS 7 发行说明中的​​ UIViewGroupOpacity 来自:

https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-7.0/index.html

我想这会导致制作动画时出现问题。

有没有人知道 iOS 7 中这个问题的解决方案?谢谢。

我也没有任何花哨的代码来推送视图控制器。我正在使用下面的代码来推送

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

【问题讨论】:

    标签: objective-c ios7 uinavigationcontroller core-animation pushviewcontroller


    【解决方案1】:

    只需添加:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    

    这个:

    [[self window] setBackgroundColor:[UIColor whiteColor]];
    

    最终结果:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions {    
        [[self window] setBackgroundColor:[UIColor whiteColor]];
    
        // Override point for customization after application launch.
        return YES;
    }
    

    【讨论】:

      【解决方案2】:

      您可以尝试通过项目中的情节提要来实现。您所要做的就是创建包含在 UINavigationController 中的视图控制器,并通过保持控制并从一个 vc 移动到下一个来连接情节提要中的 push segue。然后命名它,并在您呈现视图的 vc 中,实现 prepareSegue 方法:

       - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
      {
         if (segue.identifier isEqualToString:<#string#>) {
            <#UIViewController#> *viewController = segue.destinationViewController;
      
            // do any customization with the above variable
         }
      }
      

      希望对您有所帮助

      【讨论】:

      • 感谢您的回复。但我们没有在项目中使用 StoryBoard。
      【解决方案3】:

      使用 Arne 在以下问题中提供的 UINavigationController+Retro.h 解决了我的问题

      Restore pre-iOS7 UINavigationController pushViewController animation

      非常感谢阿恩

      【讨论】:

        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 2019-10-03
        • 1970-01-01
        • 2015-02-11
        • 1970-01-01
        • 2014-10-30
        • 2010-11-07
        • 2017-07-01
        相关资源
        最近更新 更多