0

다른보기를 밀어 넣어야하는 didSelectRowAtIndexPath 메서드를 구현했습니다. navigationController를 사용하여 코드를 올바르게 실행하고 있지만이 경우에는 navigationItem을 사용하고 있습니다. 어떻게하면 뷰를 트리거 할 수 있습니까?UINavigationController 대신 UINavigationItem을 사용하는 pushViewController

오류 로그 고맙습니다하십시오 UINavigationItemUINavigationController하지 않기 때문에

2010-03-25 00:09:52.459 TableArchive[1062:207] trigger 
2010-03-25 00:09:52.461 TableArchive[1062:207] *** -[UINavigationItem pushViewController:animated:]: unrecognized selector sent to instance 0x3921ca0 
2010-03-25 00:09:52.462 TableArchive[1062:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UINavigationItem pushViewController:animated:]: unrecognized selector sent to instance 0x3921ca0' 
2010-03-25 00:09:52.463 TableArchive[1062:207] Stack: (


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
NSLog(@"trigger"); 

if(dvController == nil) { 
    DetailView *aController =[[DetailView alloc]initWithNibName:@"DetailView" bundle:nil]; 

    self.dvController = aController; 

    [aController release]; 
} 

[[self navItem]pushViewController:dvController animated:YES]; 

[dvController release]; 
} 
+0

Dave DeLong이 옳습니다. 탐색 항목을 사용하여 다음보기를 푸시 할 수 없습니다. –

답변

1

분명히 당신은 [[self navItem]pushViewController:dvController animated:YES]; 할 수 없습니다.

대신 [[self navigationController] pushViewController:dvController animated:YES];을 사용해야합니다. 그 너머에, 나는 네가 원하는 것을 얻지 못한다.

0

UINavigationController 탐색 항목으로보기 (XIB?)에서 UINavigationItem을 설정해야합니다. IBOutlet을 navItem으로 설정하고 코드에서 self.navControllet.navItem = navItem (이와 비슷한 것)을 수행하면됩니다.

관련 문제