0

アプリに実装ECSlidingViewControllerしています。メニュー ボタン (UIBar) を押すと、左側のメニューがスライドします。ただし、メニュー ボタンをもう一度押しても、現在の状態には戻りませんViewController

サンプル アプリでは動作しますが、現在のコントローラーを戻すコード行が見つかりません。

メニューを表示するコードは次のとおりです。

- (IBAction)menuButtonTapped:(id)sender {
    [self.slidingViewController anchorTopViewToRightAnimated:YES];
}

現在、左側のメニューレイアウトを閉じることができるコードの一部を探していますが、見つけることができませんでした。どこかに埋もれているに違いない…

Github プロジェクト

UIBarメニューボタンを押して現在のView Controllerに戻るにはどうすればよいですか?


@Ericは、そのイベントを実行しているものに目を向けました。メイン画面を再表示する責任があるようUIPanGestureRecognizerですが、残念ながらそのデリゲートを実装した後、それを機能させることができませんでした。

- (UIPanGestureRecognizer *)dynamicTransitionPanGesture {
    if (_dynamicTransitionPanGesture) return _dynamicTransitionPanGesture;

    _dynamicTransitionPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self.transitions.dynamicTransition action:@selector(handlePanGesture:)];

    return _dynamicTransitionPanGesture;
}
4

2 に答える 2

0

@eric が指摘したように、UIBarボタンはメニューのみを表示します。

同じ IBAction でメニューを閉じたい場合は、さらにロジックを追加する必要があります。

- (IBAction)menuButtonTapped:(id)sender {
   //Chek the current position
   if([self.slidingViewController currentTopViewPosition]==2){
      //show menu
      [self.slidingViewController anchorTopViewToRightAnimated:YES];
   }else{
      //Dismiss menu
      [self.slidingViewController resetTopViewAnimated:YES];
   }
}
于 2014-03-10T20:18:50.860 に答える