0

ビューをスライドする必要があるという要件がありますが、それは UITabBarController 内にあります。

誰もそれをやろうとしましたか? rootViewController にすれば ECSlidingViewController は完璧に動作しますが、UITabBarController でそれが必要です。

ECSlidingViewController を UITabBarController のビュー コントローラーの 1 つとして設定しようとしましたが、最初のスワイプの後にクラッシュしたり、無限ループに陥ったりします。

以下は私のコードです

    myWorkController = [[TaskWorkViewController alloc] initWithNibName:@"WorkViewController_iPhone" bundle:nil]; // This is the controller where I have my specific logic

    myWorkNavController = [[[UINavigationController alloc] initWithRootViewController:myWorkController] autorelease]; // setting the myWorkController to UINavigationController as I need to navigate from this view controller to different view on specific actions

//SlidingviewController の設定 self.slidingViewController = [ECSlidingViewController slideWithTopViewController:myWorkNavController];

    self.slidingViewController.topViewController = myWorkNavController;
    [myWorkNavController.view addGestureRecognizer:self.slidingViewController.panGesture];
    self.slidingViewController.anchorRightPeekAmount  = 100.0;
    myWorkController.slidingViewController = self.slidingViewController;

UITabBarController *tabBarController = [[UITabBarController alloc] init];
    tabBarController.viewControllers = @[ self.slidingViewController, createNavController, currentWorkNavController];

そして、 myWorkController内にunderRightViewControllerを設定しています

 if (self.slidingViewController != nil)
    {

        UIViewController *underRightViewController = [[[UIViewController alloc] init] autorelease];
        // configure under right view controller
        underRightViewController.view.layer.borderWidth     = 0;
        underRightViewController.view.layer.backgroundColor = [UIColor colorWithWhite:0.9 alpha:1.0].CGColor;
        underRightViewController.view.layer.borderColor     = [UIColor colorWithWhite:0.8 alpha:1.0].CGColor;
        underRightViewController.edgesForExtendedLayout     = UIRectEdgeTop | UIRectEdgeBottom | UIRectEdgeRight; // don't go under the top view
        self.slidingViewController.underRightViewController = underRightViewController;
    }

1) 最初のスワイプは完璧に機能しますが、2 回目のスワイプは ECSlidingViewController コードで中断します 2) UINavigationController を使用しているため、underRightViewController を変更しようとすると、[oldUnderRightViewController removeFromParentViewController] で失敗します。ECSlidingViewController コードの

私が間違っていること、またはECSlidingViewControllerでこれが可能かどうかを教えてください。

前もって感謝します

4

0 に答える 0