我有一个名为CataloguesEtTarifsPDFViewController
的类,它显示了一个tableView。
现在,在这个课程中,我想创建一个UINavigationController
并设置UINavigationController
这个类的根目录:
这是我做的:
CataloguesEtTarifsPDFViewController.h
UINavigationController *navigationController;
在实施文件中
CataloguesEtTarifsPDFViewController.m
- (void)viewDidLoad
{
CataloguesEtTarifsPDFViewController *catalog =[[CataloguesEtTarifsPDFViewController alloc] init];
loadingView.hidden=YES;
navigationController = [[UINavigationController alloc] initWithRootViewController:catalog];
}
当我点击表格单元格时,我会这样做:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
WebViewController *webViewController = [[WebViewController alloc] init];
[self.navigationController pushViewController:webViewController animated:YES];
[navigationController release];
}
但是当我跑步并点击桌面时,没有任何反应......没有出现视图!!!我哪里出错?
重要:我没有委托文件。只有CataloguesEtTarifsPDFViewController.h
CataloguesEtTarifsPDFViewController.m
和CataloguesEtTarifsPDFViewController.xib
。
编辑:
- (IBAction)showViewCataloguesEtTarifsPDF:(id)sender{
// Remove view to middleView
[mainMenuViewController removeViewsToMiddleView];
// create view controller
cataloguesEtTarifsPDFViewController = [[CataloguesEtTarifsPDFViewController alloc] init];
cataloguesEtTarifsPDFViewController.mainMenuViewController = mainMenuViewController;
// hide/show header button
[mainMenuViewController.headerViewController showMainMenuButton];
// highlight footer tabbar button
[mainMenuViewController.footerViewController.footerTabBar setSelectedItem:mainMenuViewController.footerViewController.footerTabBarItemMyAudi];
UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:cataloguesEtTarifsPDFViewController];
[self presentModalViewController:navigationController animated:YES];
}
答案 0 :(得分:1)
你应该读到这个:http://www.iosdevnotes.com/2011/03/uinavigationcontroller-tutorial/ 或者:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007457-CH1-SW1
或者观看:http://peepcode.com/products/iphone-view-controllers-part-i
这将为您提供基础知识,您将能够很好地回答您的问题并修复您的代码:)
PS:您不必在视图控制器中显式创建和设置UINavigationController。如果视图控制器嵌入在导航控制器中,则视图控制器实例的navigationController属性将自动找到并返回它。
答案 1 :(得分:1)
你在viewDidLoad中所做的是错误的。
无论您在哪里展示CataloguesEtTarifsPDFViewController,都应该将其包装在UINavigationController中并改为显示UINavigationController。
这将确保将设置UIViewController的navigationController属性。
在tableView:didSelectRowAtIndexPath:方法中,您应该释放webViewController变量而不是navigationController属性。