2017-01-23 6 views
1

У меня есть проект в Objective C, который использовал slidemenu от this. От каждой страницы на своем меню, он имеет 3 кнопки в нижней SlidemenuПравильный способ перехода на другой контроллер вида

На левой таблице меню didSelectRowAtIndexPath «с, я могу„шаг“на 1,2, и 3 контроллер представления с помощью

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil]; 
UIViewController *controller = [[UINavigationController alloc] initWithRootViewController:[storyboard instantiateViewControllerWithIdentifier:@"MyStoryboardViewController"]]; 
[self.revealViewController pushMainViewController:controller animated:YES]; 

1, 2, и 3 View Controller, я инициализировать меню гамбургер по навигации пункта с этим

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init]; 
UIImage *imgBtn = [UIImage imageNamed:@"menu"]; 
[barButton setImage:imgBtn]; 

barButton.target = self.revealViewController; 
barButton.action = @selector(revealLeftView); 

self.revealViewController.toggleAnimationType = PBRevealToggleAnimationTypePushSideView; 
self.navigationItem.leftBarButtonItem = barButton; 

и каждый контроллер имеет вид пользовательского UIView, которые состоят из 3 кнопки. Это похоже на нижнюю панель вкладок Spotify для iOS. Он будет перемещаться к контроллеру A, B и C, который также имеет кнопку slidemenu. Bottom button

Прямо сейчас, я могу перейти к A, B и C путем создания делегата на его настраиваемое представление , которые требуют экземпляра назначения UIViewController в качестве параметра, так что я могу представить, что контроллер представления с помощью

[self presentViewController:vc animated:YES completion:nil]; 

Но в результате контроллер A, B и C не может инициализировать свой slidemenu, используя код, например, на контроллере вида 1, 2 и 3. Это меню гамбургера создается, но он не может показывать slidemenu, как и должно быть.

Итак, где я здесь ошибся? Я думаю, что моя ошибка заключается в том, как представить контроллер A, B и C, который использует presentViewController. Или еще один? Любой sugestion был бы оценен. Спасибо огромное!

ответ

0

решаемых

Вместо того, чтобы:

[self presentViewController:vc animated:YES completion:nil]; 

Использования:

[self.revealViewController setMainViewController:vc animated:YES]; 

В этом случае контроллер VC, представленный будет держать revealViewController свойства, как оно представлено с ним.

Как его разработчик сказал here

Спасибо так много!

Смежные вопросы