2015-07-11 2 views
0

1) В настоящее время в моем приложении я попытался реализовать боковое меню с помощью
SWRevealViewController загружен с https://github.com/John-Lluch/SWRevealViewController.iOS 8.3 раскладное меню стороны

2) Reveal View контроллер раскадровки является классом SWRevealViewController, который я импортировал в свой проект SWRevealViewController.h и .m.

3) Reveal Посмотреть файл раскадровки контроллера контроллера контроллера таблицы viewнавигационный контроллер есть segue name view view контроллер контроллер контроллера.

4) последний вид контроллера файл раскадровка класс зрения контроллера с
UIBarButtonItem * barButton

Вот мой код в viewcontroller.m

#import "SWRevealViewController.h" 

- (void)viewDidLoad 

{

[super viewDidLoad]; 

SWRevealViewController *revealViewController = self.revealViewController; 
if (revealViewController) 
{ 
    _barButton.target = self.revealViewController; 
    _barButton.action = @selector(revealToggle:); 
    [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer]; 
} 

} 

5) Когда я запускаю свое приложение, в симуляторе есть черный экран, где мне действительно нужна кнопка с боковым меню.

6) Storyborad имеют только 4 файлов

1.revealViewController подключены к контроллеру Tableview (с использованием контроллера показывает вид набора контроллер SEGUE)

2.revealViewController подключен к контроллеру навигации (с использованием контроллером показывает вид набора контроллер SEGUE)

3.navigation контроллер ViewController (используя корневой вид контроллера SEGUE)

6) Мои файлы SWRevealViewController.h & .м, ViewController.h & .м, AppDelegate.h & .м, tableviewcontroller.h & .m

Для реализации меню на стороне, я передала этот http://www.appcoda.com/ios-programming-sidebar-navigation-menu/ IOS: Storyboard and side menu as facebook app

ответ

1

Ошибку я делал в раскадровке Segue именовании

1.revealViewController подключен к контроллеру Tableview (с использованием контроллера показывают вид установки контроллера SEGUE)

2.revealViewController подключен к контроллеру навигации (с использованием контроллера показывают вид набора контроллера SEGUE)

правильное решение для обоих выше есть, раскадровки переход должен пользовательский segue под классом segue SWRevealViewControllerSegueSetController. Тогда это сработало для меня.

0

Скажет ли ваш журнал что-нибудь?

Черный экран, как правило, отсутствует контроллер начального представления.

Убедитесь, что вы выбрали контроллер вида, который вы хотите быть вашим начальным контроллером, и установите флажок («Начальный контроллер просмотра») в редакторе раскадровки.

+1

Да, я проверил, мой контроллер начального вида - это showViewController. –

+0

Я вижу [здесь] (https://github.com/John-Lluch/SWRevealViewController/blob/master/README.md), что в версии 2.3 исправлена ​​проблема с инициализацией. У вас есть эта версия, а не более ранняя, @ShrikantKankatti? –

+0

M проверка с этим. –

2

Убедитесь, что в раскадровке заданы идентификаторы SESEEFEndIdentifier и SWSegueRightIdentifier. Эти два идентификатора объявлены в качестве SWRevealViewController

static NSString * const SWSegueRearIdentifier = @"sw_rear"; 
static NSString * const SWSegueFrontIdentifier = @"sw_front"; 

Вы должны создать два перетекает для переднего контроллера представления и заднего вида с контроллером SWRevealViewController (который является начальным контроллер представления в раскадровке). И установите соответствующие идентификаторы segue.

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