2015-08-26 4 views
0

** В ** Discover.mpushViewController не работает с .xib файлом

AgendaListPage *controller1 = [[AgendaListPage alloc]initWithNibName:@"AgendaListPage" bundle:nil]; 
    controller1.title = @"Page1"; 
    MissedDataListPage *controller2 = [[MissedDataListPage alloc]initWithNibName:@"MissedDataListPage" bundle:nil]; 
    controller2.title = @"Page2"; 

** В ** AgendaListPage.m

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    if (tableView == self.tableView){ 

     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 
     HastagScreenTablePage *myControllerHastag = [storyboard instantiateViewControllerWithIdentifier:@"hastagScreen"]; 
     myControllerHastag.detailModalForHastag = @[[getTopHastagObject[indexPath.row] gethastagName]]; 
     [self.navigationController pushViewController: myControllerHastag animated:YES]; 
    } 
} 

Я использую https://github.com/uacaps/PageMenu API Obj-C версии ,

Я стараюсь каждый метод, но страница не меняется при выборе ряда. Есть идеи ?

EDIT:

я изменить код, как этот

HastagScreenTablePage *myControllerHastag = [self.storyboard instantiateViewControllerWithIdentifier:@"hastagScreen"]; 
myControllerHastag.detailModalForHastag = @[[getTopHastagObject[indexPath.row] gethastagName]]; 
FirstNavControllerPage *navigationController = [[FirstNavControllerPage alloc] initWithRootViewController:myControllerHastag]; 
[self.navigationController pushViewController: navigationController animated:YES]; 

FirstNavControllerPage является UINavigationController

Теперь ошибка: Application tried to push a nil view controller on target <FirstNavControllerPage: 0x13659d5c0>.

EDIT:

enter image description here

enter image description here

+0

'self.navigationController' ноль? – Larme

+0

Да, вы права self.navigationController - это ноль, как я могу исправить? Я редактирую вопрос – vayfi

+0

вы shoud добавьте контроллер AgendaListPage в контроллер навигации программно, когда вы создаете объект AgendaListPage. например 'AgendaListPage * obj = [[AgendaListPage alloc] init]; UINavigationController * navController = [UINavigationController alloc] initWithRootViewController: obj; ' –

ответ

0

Для XIb вам не нужно создавать объект раскадровке

только контроллер Alloc инициализации работы

HastagScreenTablePage *myControllerHastag = [[HastagScreenTablePage alloc]init]; 
[self.navigationController pushViewController:myControllerHastag animated:YES]; 
0

Вы не добавили навигационный контроллер в раскадровку. Правильно? если это так, вы получите «self.navigation == nil». Сначала добавьте контроллер навигации, а затем установите контроллер корневого представления. Тогда ваш pushViewController получит экземпляр и работу.

+0

'HastagScreenTablePage * bbp = [[HastagScreenTablePage alloc] initWithNibName: @« Основной »комплект: nil]; UINavigationController * passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController: bbp]; [self.navigationController pushViewController: passcodeNavigationController animated: YES]; 'Like this? – vayfi

+0

Щелчок правой кнопкой мыши и перетаскивание с контроллера навигации. В YourFirstViewController вы увидите много вариантов для выбора. затем выберите «Root View Controller» – Jamil

+0

Но я использую .xib, как я могу это сделать в .xib? – vayfi

0

Удостоверьтесь, что вы установили идентификатор («hastagScreen» в вашем случае) для файла UIViewController в файле истории, может быть, следующий код возвращает nil.

HastagScreenTablePage *myControllerHastag = [self.storyboard instantiateViewControllerWithIdentifier:@"hastagScreen"]; // myControllerHastag might be nil. 

replace YOUR_ID with hastagScreen

+0

. У HastagScreenTablePage нет viewController addSubview в Discover.m check images – vayfi

+0

http://imgur.com/P4hOv1K – vayfi

+0

'instantiateViewControllerWithIdentifier 'предоставит вам объект viewcontroller, вы назначаете его' HastagScreenTablePage' («HastagScreenTablePage не имеет viewController»), который я предполагаю для быть 'UIView', все это неправильно – Saif

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