0

SlidePanel で動作するように既存の設定を変更しようとしています。スライド パネルは JA からのものです:- https://github.com/gotosleep/JASidePanels

私の既存のコードは次のとおりです: アプリデリゲートは起動を終了しました:

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];

ユーザーがログインしたら、Home ビュー コントローラーをプッシュするメソッドを呼び出します。

// 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;

スライドパネルはこれをナビゲーションコントローラーではなくビューコントローラーとして扱うため、これを現在のレイアウトに実装する方法がわかりません。現在の実装に JASlidePanel を実装する方法を知っている人はいますか?

4

1 に答える 1

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;
  }

}

これは私にとってはうまくいきます。これがあなたにも役立つことを願っています。

于 2012-12-03T13:47:22.993 に答える