2012-10-23 21 views
0

我試圖將現有設置更改爲使用SlidePanel。滑動屏幕是JA這裏: - https://github.com/gotosleep/JASidePanels將UINavigation控制器更改爲使用SlidePanel

我現有的代碼如下: 應用代表沒有完成啓動:

welcomeViewController = [[MySpyWelcomeViewController alloc] initWithNibName:@"MyWelcomeViewController" bundle:nil]; 

navController = [[UINavigationController alloc] initWithRootViewController:welcomeViewController]; 
navController.navigationBarHidden = YES; 

self.viewController = self.navController; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 

一旦用戶登錄我然後調用其推動主頁的方法視圖控制器:

// Push the homeViewController onto the navController 
NSLog(@"presentHomeViewController"); 
self.navController.navigationBarHidden = NO; 
[self.navController setTitle:@"Home"]; 
[self.navController pushViewController:self.homeViewController animated:NO]; 

在JA滑動板例如,它示出了以下內容:

self.viewController = [[JASidePanelController alloc] init]; 
self.viewController.leftPanel = [[JALeftViewController alloc] init]; 
self.viewController.centerPanel = [[UINavigationController alloc] initWithRootViewController:[[JACenterViewController alloc] init]]; 
self.viewController.rightPanel = [[JARightViewController alloc] init]; 

self.window.rootViewController = self.viewController; 

我不知道如何實現這個到我當前的佈局,因爲slidepanel將它視爲視圖控制器而不是導航控制器。有誰知道我可以如何實現JASlidePanel到我當前的實現?

回答

1

在你appdelegate.h文件執行以下操作:

@class JASidePanelController; 

然後

//just generally declare the JAsidepanelcontroller 
    @property (nonatomic,retain) JASidePanelController *homeViewController; 
    //This is your loginviewcontroller 
    @property (nonatomic,retain) LoginMainController *loginmainController; 
在appdelegate.m文件

然後執行以下操作:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 

     if(loggedin) 
     { 
     if (!self.homeViewController) { 

     MySpyWelcomeViewController *mySpyWelcomeViewControllerTemp = [[MySpyWelcomeViewController alloc] init]; 
     UINavigationController *navigationControllerTemp = [[UINavigationController alloc] initWithRootViewController:mySpyWelcomeViewControllerTemp]; 
     self.navigationController = navigationControllerTemp; 

    //here use the left and right viewcontroller that you are going to show for the sidemenu 
     SidebarOptionsLeftViewController *sidebarOptionsleftViewControllerTemp = [[SidebarOptionsLeftViewController alloc] init]; 
     SidebarOptionsRightViewController *sidebarOptionsrightViewControllerTemp = [[SidebarOptionsRightViewController alloc] init]; 
     sidebarOptionsrightViewControllerTemp.delegate = mySpyWelcomeViewControllerTemp; 

     JASidePanelController *homeViewTemp = [[JASidePanelController alloc] init]; 
     homeViewTemp.shouldDelegateAutorotateToVisiblePanel = NO; 

     homeViewTemp.leftPanel = sidebarOptionsleftViewControllerTemp; 
     homeViewTemp.centerPanel = navigationControllerTemp; 
     homeViewTemp.rightPanel = sidebarOptionsrightViewControllerTemp; 
     } 
     self.window.rootViewController = self.homeViewController; 
     } 

    else { 
    if (!self.loginmainController) { 
     LoginMainController *loginmainControllerTemp = [[LoginMainController alloc] initWithNibName:@"LoginMainController" bundle:nil]; 
     self.loginmainController = loginmainControllerTemp; 
    } 
    if (!self.navigationController) { 
     UINavigationController *navigationControllerTemp = [[UINavigationController alloc] initWithRootViewController:self.loginmainController]; 
     self.navigationController = navigationControllerTemp; 
     self.navigationController.navigationBarHidden = YES; 
    } 
    self.window.rootViewController = self.navigationController; 
    } 

}

這項工作對我來說很好,希望這對你也有幫助。

相關問題