2013-05-22 2 views
1

В настоящее время я работаю над проектом, который включает ViewDeck от Inferis.iOS ViewDeck удалить общий заголовок

Я ищу для создания интерфейса меню стиля Facebook. Однако, похоже, мне не удается сохранить заголовок локальный, а не глобальный для deckController.

Итак, у меня есть rootviewcontroller, который подталкивает контроллер входа в стек. Ничего особенного. но когда я вошел в систему, он должен нажать IIViewDeckController на стеке, но без всех панелей навигации

Как Это коды:

neighbourhoodViewController *nextViewController = [[neighbourhoodViewController alloc] initWithNibName:@"neighbourhoodViewController" bundle:nil]; 
menuViewController *leftViewController = [[menuViewController alloc] initWithNibName:@"menuViewController" bundle:nil]; 
IIViewDeckController* deckController = [[IIViewDeckController alloc] nitWithCenterViewController:nextViewController leftViewController:leftViewController]; 
deckController.leftSize = 100.0f; 
[self.navigationController pushViewController:deckController animated:YES]; 

outcomming является следующий скриншот: http://s15.postimg.org/pli8zk53f/Schermafbeelding_2013_05_22_om_15_00_43.png

Как вы можете видеть, меню находится в «viewcontroller», но оно должно быть снаружи, поэтому навигационная панель должна скользить вправо вместе с средним столом. TableViewController

Я попытался скрыть все навигационных панелей, но ничего не работает. Также я попытался запустить его из делегата приложения, поскольку это в этом примере. Оно работает. Однако мне нужно запустить его с контроллера входа в систему.

Thnx

ответ

2

Необходимо немного изменить структуру.

Сделайте приложение IIViewDeckController своим корневым контроллером вашего приложения и установите его centreController как ваш UINavigationController.

Вначале ваш LoginViewController будет главным диспетчером вашего UINavigationController, таким образом показывая представление Login для начала. Если вы не хотите видеть Панель навигации при входе добавить к вашему LoginViewController:

-(void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
} 

-(void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
    [self.navigationController setNavigationBarHidden:NO animated:YES]; 
} 

Для предотвращения каких-либо действий ViewDeck, когда при входе сделать это в делегате ViewDeck в:

- (BOOL)viewDeckController:(IIViewDeckController*)viewDeckController shouldOpenViewSide:(IIViewDeckSide)viewDeckSide { 
    UINavigationController *navController = (UINavigationController*)self.centerController; 

    if([[navController viewControllers] count] < 2) { 
     return NO; 
    } 

    return YES; 
} 

Очевидно то когда пользователь успешно входит в систему, вам просто нужно нажать «neighbourhoodViewController» на стек. И когда они выходят из поп, он снова отступает.

+0

Сделал работу, спасибо помощнику! Ты отличный. –