在我的应用程序中我的根视图控制器是TabBar 在TabBar控制器之一i使用表格视图我想在按到单元格时推送视图控制器 但是当我使用
时- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
TripDetailView * TripDetailViewObjec = [[TripDetailView alloc]init];
[self.navigationController pushViewController:TripDetailViewObjec animated:YES];
}
没有做任何事情,因为Self.navigation=null
我尝试在AppDelegate中创建UINavigationController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
AppDelegate * ApplicationDelegate =[[UIApplication sharedApplication]delegate];
[[ApplicationDelegate Nav] pushViewController:TripDetailViewObjec animated:YES];
}
我的AppDelegate
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
WeekendTrips * WeekendTripsObject ;
UINavigationController * Nav;
}
@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) UINavigationController * Nav;
@end
@implementation AppDelegate
@synthesize Nav;
@synthesize window = _window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
WeekendTripsObject = [[WeekendTrips alloc]init];
Nav=[[UINavigationController alloc]initWithRootViewController:WeekendTripsObject];
[self.view addSubView Nav.view];
return YES;
}
这并不起作用 我可以做什么 ? 在此先感谢
答案 0 :(得分:1)
您需要在appdelegate中创建UINavigationController
的实例。
您需要在标签栏控制器中的视图中添加导航栏。
如果xib中有标签栏,请将UINavigationController
对象从“库”窗口拖到标签栏的“树视图”中。将导航控制器放在标签栏控制器内,然后将现有视图控制器拖动到导航控制器内。
如果以编程方式创建tabbar,则非常简单:
喜欢:
UIViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"yournib1" bundle:nil];
UINavigationController *navigationcontroller = [[UINavigationController alloc] initWithRootViewController:viewController1];
UIViewController *viewController2 = [[UIViewController alloc] initWithNibName:@"yournib2" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller, viewController2, nil];
请参阅此tutorial
答案 1 :(得分:0)
您需要使用 UINaviatigationController
作为应用程序根视图控制器,然后添加第一个表视图作为导航控制器的导航根视图。然后,您可以使用[self.navigationController pushViewController:animated:]
推送其他表格视图。