从TableView行单击时,不会显示详细信息视图

时间:2010-11-09 13:48:59

标签: objective-c cocoa-touch uikit ios

我有一个XCode iPHone项目设置如下:

My App Delegate创建一个动态tabBarController,并为其添加两个视图控制器。其中一个包含TableView。

从TableView中,我希望用户能够单击每个项目上的蓝色箭头按钮并获得有关它的更多详细信息。这是一个非常标准的事情......这是我必须做的代码:

-(void)tableView: (UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *) indexPath {
    [self tableView:tableView didSelectRowAtIndexPath:indexPath];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
    [tableView deselectRowAtIndexPath:indexPath animated:NO];

        if (self.switchView == nil) {
            SwitchViewController *viewController = [[SwitchViewController alloc] initWithNibName:@"SwitchViewController" bundle:[NSBundle mainBundle]];
            self.switchView = viewController;
            [viewController release];       
        }

    [self.navigationController pushViewController:self.switchView animated:YES];
    self.switchView.title = @"Test Title";

}

现在,我的SwitchViewController只是一个空白视图,上面有一个按钮。 当用户点击蓝色按钮时,没有任何反应。我可以设置一个断点并查看正在执行的所有代码,但iPhone屏幕根本不会改变。

任何提示?我确信这是基本的东西,因为我对iOS开发很新。

提前致谢!

[R

1 个答案:

答案 0 :(得分:0)

从评论中回答Vladmir的问题,很明显你没有初始化UINavigationController。所以尝试这样的事情:

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];

然后将navController添加到tabBarController而不是tableViewController。