Objective c iOS 7中的UINavigationController推送动画不平滑

Objective c iOS 7中的UINavigationController推送动画不平滑,objective-c,ios7,uinavigationcontroller,core-animation,pushviewcontroller,Objective C,Ios7,Uinavigationcontroller,Core Animation,Pushviewcontroller,我正在开发一个ipad应用程序,我正在使用UINavigationController推送另一个视图控制器。由于推送动画不平滑,因此一切正常。当我按下视图控制器时,当我将视图的背景色设置为clearColor时,我可以看到上一个屏幕 但这在iOS 6中正常工作。然后我注意到iOS 7发行说明中的UIViewGroupOpacity: 我想这会导致动画制作时出现问题 有人知道iOS 7中解决此问题的方法吗?谢谢 此外,我没有任何花哨的代码来推动视图控制器。我使用下面的代码来推送 [self.na

我正在开发一个ipad应用程序,我正在使用
UINavigationController
推送另一个视图控制器。由于推送动画不平滑,因此一切正常。当我按下视图控制器时,当我将视图的背景色设置为
clearColor
时,我可以看到上一个屏幕

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

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

有人知道iOS 7中解决此问题的方法吗?谢谢

此外,我没有任何花哨的代码来推动视图控制器。我使用下面的代码来推送

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

你可以试着在你的项目中通过你的故事板来做。您所要做的就是创建包含在UINavigationController中的视图控制器,并通过保持控制并从一个vc移动到下一个vc来连接故事板中的推送序列。然后命名它,在呈现视图的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
   }
}
-(void)prepareforsgue:(UIStoryboardSegue*)分段发送方:(id)发送方
{
if(segue.identifier isEqualToString:){
*viewController=segue.destinationViewController;
//使用上述变量进行任何自定义
}
}

希望这对我有所帮助

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

非常感谢Arne

只需添加:

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

最终结果是:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions {    
    [[self window] setBackgroundColor:[UIColor whiteColor]];

    // Override point for customization after application launch.
    return YES;
}

谢谢你的回复。但是我们没有在项目中使用故事板。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions {    
    [[self window] setBackgroundColor:[UIColor whiteColor]];

    // Override point for customization after application launch.
    return YES;
}