参考下面的代码。如果你想使用pushViewController方法。 你必须有一个NavigationViewController。 所以,你的结构有点复杂。一个ViewController具有两个TableViewController的数量。一个ViewController没有NavigationController。 NavigaitonViewController在运行时一定属于应用程序,因为它应该被配置。
TwoTableViewsAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UINavigationController *naviController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[window setRootViewController:naviController];
[window makeKeyAndVisible];
return YES;
}
TwoTableViewsViewController.m
- (void)viewDidLoad {
if (firstController == nil) {
firstController = [[FirstTVContoller alloc] init];
}
if (secondController == nil) {
secondController = [[SecondTVController alloc] init];
}
[firstTable setDataSource:firstController];
[secondTable setDataSource:secondController];
[firstTable setDelegate:firstController];
[secondTable setDelegate:secondController];
firstController.view = firstController.tableView;
secondController.view = secondController.tableView;
firstController.rootViewController = self;
secondController.rootViewController = self;
[super viewDidLoad];
}
FirstTVContoller.h,SecondTVController.h
#import <Foundation/Foundation.h>
@interface FirstTVContoller : UITableViewController <UITableViewDataSource, UITableViewDelegate>{
NSMutableArray *items;
}
@property (nonatomic, retain) UIViewController *rootViewController;
@end
FirstTVContoller.m,SecondTVController.m
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
VerticalDetailViewController *verticalDetailViewController = [[VerticalDetailViewController alloc] initWithNibName:@"VerticalDetailViewController" bundle:nil];
[[self.rootViewController navigationController] pushViewController:verticalDetailViewController animated:YES];
}
在我认为你的问题是太暧昧了。究竟是什么问题?请多解释一下? – 2012-08-04 14:11:19
此示例项目指导我向一个视图控制器添加两个表视图:https://github.com/vikingosegundo/my-programming-examples/tree/master/TwoTableViews didSelectRow ..方法正常,但我无法推送任何视图控制器,当我点击表视图中的任何单元格。 – gokhangultekin 2012-08-04 14:20:23
我正在看它现在你的示例代码项目。你的pushViewController代码在哪里?你说推,这是什么意思?通常,推动平均值是以下代码。 [[self navigationController] pushViewController:yourViewController]]; – 2012-08-04 14:32:06