0

ECSlidingViewController を使用して、いくつかのオプションを持つユーザー向けの「ハンバーガー」メニューを作成しています。そのうちの 1 つはログインです。ECSlidingViewController を使用してアーカイブの最初の例を編集しましたが、機能していて見栄えがします。

ここで、これを拡張して、ログインに成功した後、ユーザーをコントローラーに「リダイレクト」して、そこから「ハンバーガー」をタップしてログインするオプションを用意したいだけです(Webサイトのように)。どこか (おそらく AppDelegate) に保存する必要があると思いますが、そうですか?

私の AppDelegate は次のようになります。

@interface MAAppDelegate : UIResponder <UIApplicationDelegate>

@property (nonatomic, strong) ECSlidingViewController *slidingViewController;
@property (strong, nonatomic) UIWindow *window;

@end

これは、「ハンバーガー」(ナビゲーション バーの項目) をタップした後に呼び出されるメソッドです。

- (IBAction)menuButtonTap:(id)sender
{
    if (self.slidingViewController.currentTopViewPosition == ECSlidingViewControllerTopViewPositionCentered) {
        [self.slidingViewController anchorTopViewToLeftAnimated:YES];
    } else {
        [self.slidingViewController resetTopViewAnimated:YES];
    }
}

そして、私の MAMenuViewController (サイド メニューのオプション用の静的テーブルを持つコントローラー) では、テーブル セルのスライド セグエをいくつか設定して、各コントローラー (メイン、ログインなど) に移動します。

4

2 に答える 2

0

私が正しければ、ここで達成したいことは、以前のView Controllerに「プッシュバック」することだと思います。したがって、その場合、現在のView Controllerで呼び出すことができます

[self.navigationController popViewControllerAnimated:YES];

この投稿の詳細については、完全な回答を得ることができます。この投稿では、以前のView Controllerを特定する方法について、この投稿にももう少し説明があります。

于 2014-03-05T10:03:15.770 に答える
0

ログインビューをモーダルとして表示してみませんか。ユーザーはログインから「戻る」のではなく、キャンセルしています。概念的には、アプリの他の部分とは完全に別の機能です。モーダル表示では通常、別のトランジション スタイルが使用され、画面が別のものとしてマークされます。

モーダルが表示されている間、スライド コントローラーをリセットして、「アンダー」メニューが表示されないようにすることもできます。次に、ログイン ビューを閉じると、それ以上のアニメーションがなくても準備完了です。

于 2014-03-05T10:00:13.987 に答える