2015-12-02 2 views
1

Я внедрил это меню слайдов из библиотеки iOS Slide Menu и использовал uitabbarcontroller.Side Navigation Click Not Working

Домашний viewcontroller имеет этот slidemenu, но при нажатии боковой панели навигации отображается панель слайдов, но при щелчке записей никаких действий не происходит. Если я использую этот slidemenu без tabbarcontroller, чем он работает.

Любое, если реализовано это меню слайдов под управлением uitabbarcontroller, используя раскадровку, используя объектив C в IOS. Пожалуйста, поделитесь своим ответом.

+0

Пожалуйста, вы можете поделиться код ... –

+0

Хорошо, https://www.dropbox.com/s/ofrev4hhiyexr65/iOS-Slide-Menu.zip?dl=0 –

+0

ли вы хотите 'UITabBar' после входа? –

ответ

1

В вашем коде некоторые изменения, которые я сделал как self.window.rootViewController, в App Delegate.

Также я перешёл в SlideNavigationController, определив новый UINavigationController, а затем дайте Storyboard Id, чтобы получить доступ к коду, который находится ниже.

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" 
                  bundle: nil]; 
self.landingScreen = (SlideNavigationController*)[mainStoryboard 
                 instantiateViewControllerWithIdentifier: @"launchingNVCtr"]; 

Также код изменяется на appDelegate.

-(void)setupDrawers{ 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" 
                  bundle: nil]; 
    self.landingScreen = (SlideNavigationController*)[mainStoryboard 
                 instantiateViewControllerWithIdentifier: @"launchingNVCtr"]; 

    LeftMenuViewController *leftMenu = (LeftMenuViewController*)[mainStoryboard 
                   instantiateViewControllerWithIdentifier: @"LeftMenuViewController"]; 

    RightMenuViewController *rightMenu = (RightMenuViewController*)[mainStoryboard 
                    instantiateViewControllerWithIdentifier: @"RightMenuViewController"]; 

    self.landingScreen = [SlideNavigationController sharedInstance]; 
    self.landingScreen.rightMenu = rightMenu; 
    self.landingScreen.leftMenu = leftMenu; 
    self.landingScreen.menuRevealAnimationDuration = 0.18f; 
    // Creating a custom bar button for right menu 
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)]; 
    [button setImage:[UIImage imageNamed:@"gear"] forState:UIControlStateNormal]; 
    [button addTarget:[SlideNavigationController sharedInstance] action:@selector(toggleRightMenu) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 
    self.landingScreen.rightBarButtonItem = rightBarButtonItem; 

    [[NSNotificationCenter defaultCenter] addObserverForName:SlideNavigationControllerDidClose object:nil queue:nil usingBlock:^(NSNotification *note) { 
     NSString *menu = note.userInfo[@"menu"]; 
     NSLog(@"Closed %@", menu); 
    }]; 

    [[NSNotificationCenter defaultCenter] addObserverForName:SlideNavigationControllerDidOpen object:nil queue:nil usingBlock:^(NSNotification *note) { 
     NSString *menu = note.userInfo[@"menu"]; 
     NSLog(@"Opened %@", menu); 
    }]; 

    [[NSNotificationCenter defaultCenter] addObserverForName:SlideNavigationControllerDidReveal object:nil queue:nil usingBlock:^(NSNotification *note) { 
     NSString *menu = note.userInfo[@"menu"]; 
     NSLog(@"Revealed %@", menu); 
    }]; 
} 

Тогда следующий метод для вызова когда кран Log In кнопку.

-(void)displayLandingScreen{ 
    [self setupDrawers]; 
    self.window.rootViewController = self.landingScreen; 
} 

Следующий код, когда пользователь нажимает на Log out.

-(void)logOutPressed{ 
    //mainTabBar 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" 
                  bundle: nil]; 
    UITabBarController *loginTab = (UITabBarController*)[mainStoryboard 
                 instantiateViewControllerWithIdentifier: @"mainTabBar"]; 

    self.window.rootViewController = loginTab; 
} 

Also same code retrieve from the HERE.

+0

Не все еще проблема. Мне не нужен этот контроллер входа в систему, раздел Обязательная прямая главная страница на первой вкладке, которую я сделал в этой новой версии. Теперь боковой щелчок не работает. https://www.dropbox.com/s/34qzh8pyg78hyok/iOS-Slide.zip?dl=0 –

+0

@CJIOSDeveloper Man, это ваш поток проекта, но я создал по вашему желанию. –

+0

Но я сделал необходимые изменения и не работал. Можете ли вы предложить какие-либо альтернативы. –