7

メニューボタンを押すとメニューが表示され、メニューをもう一度押すとメニューが非表示になるように、スライディングメニューを実装したいと思います。しかし、ECSlidingViewController でそれを行う方法がわかりません。どんな助けにも感謝します。

4

3 に答える 3

6

私はこの質問を思いつきました.上記の答えは私がそれを解決するのに役立ちます. しかし、コード例でより詳細な回答を追加する必要があるだけなので、そのような問題に直面した場合に他の人が恩恵を受ける可能性があります.

- (IBAction)showSlidingMenu:(id)sender {
   [self.slidingViewController anchorTopViewToRightAnimated:YES];
   if ([self.slidingViewController currentTopViewPosition] == ECSlidingViewControllerTopViewPositionAnchoredRight) {
      [self.slidingViewController resetTopViewAnimated:YES];
   }
}
  • トップ ビュー コントローラーを右にアニメートしているので、トップ ビューの位置がECSlidingViewControllerTopViewPositionAnchoredRightかどうかを確認していることに注意してください。
  • 同様に、左にアニメーション化する場合、トップ ビューの位置にはECSlidingViewControllerTopViewPositionAnchoredLeftがあります。
  • メニューにトップ ビューの位置が表示されていない場合、ECSlidingViewControllerTopViewPositionCenteredが取得されます。

質問と受け入れられた回答に+1

ありがとう。

于 2014-05-17T05:05:25.613 に答える
0

「ECSlidingViewController サンプル プロジェクト」によると、次の 4 行を FirstTopController の ViewWillAppear (例: TransitionViewController) に配置する必要があります。

self.slidingViewController.topViewAnchoredGesture = ECSlidingViewControllerAnchoredGestureTapping | ECSlidingViewControllerAnchoredGesturePanning;
self.slidingViewController.customAnchoredGestures = @[];
[self.navigationController.view removeGestureRecognizer:self.dynamicTransitionPanGesture];
[self.navigationController.view addGestureRecognizer:self.slidingViewController.panGesture];

これらの 4 行は、tableview のデリゲート メソッドで使用されています。tableview を使用していない可能性があるため、これらの 4 行は呼び出していません。

幸運を祈ります..

于 2015-07-08T08:24:22.470 に答える