2

我正在開發一個應用程序,該應用程序使用swipeBar的MFsidemenu。 我的應用程序由loginController這是一個uiViewController和記錄後更改爲uiNavigationController將uiviewcontroller的rootViewController更改爲uinavigationcontroller

MFsidemenu需要這個代碼在AppDelegate中運行:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]]; 
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; 

UIViewController *leftSideMenuViewController = [storyboard instantiateViewControllerWithIdentifier:@"leftSideMenuViewController"]; 
[MFSideMenu menuWithNavigationController:navigationController 
        leftSideMenuController:leftSideMenuViewController 
       rightSideMenuController:nil]; 

的問題是如何改變代碼的第二行,如果initialView是uiViewController(登錄),並在此之後,如何將它傳遞給secondViewController(MainMenu)這是一個uiNavigationController

簡而言之,我希望MFSidemenu只能在第二個控制器上工作,它是主控制器。謝謝!

更新: 解決,通過:)

問題更新下面斯帕斯達斯特溶液: 因此,使用MFSidemenu僅限於表示在控制器上sidemenu的例子。示例sideMenuController從故事板上的任何其他賽段流放。在sidemenu上我實現了uiTableViewController導航到另一個控制器。那麼如何改變MainMenuView與sideMenuControllerdidSelectRowAtIndexPath?我希望我的英語足以代表我的情況。再次感謝!

+1

你爲什麼不使你的'navigationcontroller的rootviewcontroller'的'的UIViewController(登錄)'? –

+0

,因爲我不想swipebar在loginController上工作。我希望它只能在第二個控制器的主菜單上工作。任何想法? – xeravim

回答

3

如果您不想在登錄過程中出現側面菜單,則需要將您的uiViewController(Login)作爲模式視圖控制器呈現。

在storyboard中創建一個登錄視圖控制器,給它一個storyboard id讓我們說LoginViewController。不要將視圖控制器連接到故事板上的任何東西讓它自己坐在角落。在您檢查用戶是否在

然後登錄,您的navigationcontroller's rootviewcontroller

-(void)viewWillAppear:(BOOL)animated 
{ 
    //this will present the login view if user is not logged in 
    if (isLoggedIn==NO) { 

     UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" 
                bundle:nil]; 
     LoginViewController *loginVC = [sb instantiateViewControllerWithIdentifier:@"LoginViewController"]; 
     [self presentModalViewController:loginVC animated:YES]; 

    } 
} 

在登錄視圖 - 控制

首先創建一個全球性的單變量時登錄過程完成 變化的全球單BOOL到isLoggedIn=YES 然後關閉您的登錄視圖控制器。

[self dismissViewControllerAnimated:NO];

+0

一切工作完美的人!謝謝!但我在這裏遇到另一個問題。要更新我的問題上面。 :) – xeravim

+0

@AlvinR​​esmana從tableviewcontroller更新你的'mainmenuview'你需要創建一個'委託模式方法'並在'didSelectRowAtIndexPath'時調用它,這完全是一個新問題,爲更新'mainmenuview'創建另一個問題,不更新這個問題因爲你的問題解決了 –

+0

謝謝@SpaceDust。我會創建另一個。抱歉更新,不瞭解規則。 – xeravim

相關問題