我在项目中使用ECSlidingMenu,我需要手动更改rootview,所以我使用此代码

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];
        }];


在resetTopView之后,您在图像中看到了黑色的怪异条。

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

有人遇到这个问题吗?

最佳答案

只需将代码更改为这样。

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

10-06 05:54