2014-02-06 28 views
0

我使用ECSlidingMenu与我的项目,我需要让我resetTopView后使用此代码浏览框的高度降低,黑条出现

UINavigationController *transferView = [self.storyboard instantiateViewControllerWithIdentifier:@"Transfer"]; 

     [self.slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{ 
      CGRect frame = self.slidingViewController.topViewController.view.frame; 
      self.slidingViewController.topViewController = transferView; 
      self.slidingViewController.topViewController.view.frame = frame; 
      [self.slidingViewController resetTopView]; 
     }]; 

手动更改rootview,我有黑奇怪吧,你在图像看。

如果我运行代码(再次更改RootView),黑色条会变得更高。

有没有人经历过这个问题?

Screenshot

+0

这个代码在当前'topViewController'中吗?帧是否被设置? – Wain

+0

是的,以下代码在My FirstViewController中设置,我想从FirstView - > TransferViewController更改视图。 –

+0

那么框架集?是否动画回来?调试以检查帧,以及是否有其他更改帧。 – Wain

回答

1

只需更改代码是这样的。

ECSlidingViewController *slidingViewController = self.slidingViewController; 

[slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{ 
    CGRect frame = slidingViewController.topViewController.view.frame; 
    slidingViewController.topViewController = transferView; 
    slidingViewController.topViewController.view.frame = frame; 
    [slidingViewController resetTopView]; 
}]; 

这解决了问题。我不知道为什么......但它的工作。

谢谢: - >Switching views with ECSliding without navigation menu