Iphone 加上「;“详细信息视图”;查看

Iphone 加上「;“详细信息视图”;查看,iphone,uitableview,uiview,Iphone,Uitableview,Uiview,我有一个带多个视图控制器的UITabbar。其中之一是UITableView。tableview存储在nib中,其中文件所有者是UITableViewController 我希望在选择表格单元格后,tableview显示“详细视图”(带有UILabel和一些其他元素的自定义视图)。我的方法是将新的详细信息视图作为子视图添加到UITableView: [self.view addSubView:[detailsViewController view]] 不幸的是,这并没有产生我想要的效果。作为U

我有一个带多个视图控制器的UITabbar。其中之一是UITableView。tableview存储在nib中,其中文件所有者是UITableViewController

我希望在选择表格单元格后,tableview显示“详细视图”(带有UILabel和一些其他元素的自定义视图)。我的方法是将新的详细信息视图作为子视图添加到UITableView:

[self.view addSubView:[detailsViewController view]]

不幸的是,这并没有产生我想要的效果。作为UITableView的子视图,我可以滚动到added details视图之外,查看底层的表条目。UINavigationBar是一个选项,但由于没有更深层的层次结构,我更喜欢带有关闭按钮的简单自定义视图。有什么建议吗?

用UIViewController替换UITableViewController。然后将UITableView添加到视图控制器。将表视图的委托和数据源设置为视图控制器。 现在,您可以在非滚动视图控制器中添加子视图,但仍保留tableview:)

编辑: 或者,当弹出视图出现时,您可以停止tableview的滚动

[(UIScrollView *)self.view setScrollEnabled:NO];
CGRect rect = self.popupview.frame;
rect.origin.y = [(UIScrollView *)self.view contentOffset].y;
self.popupview.frame = rect;

如果您只是想在用户单击特定单元格时创建弹出窗口(模式视图)],请执行以下操作

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

// If the view you want to present modally is called DetailViewController, do the following.

DetailViewController *dvCon = [[dvCon alloc] initWithNibName:@"DetailViewController" bundle:nil];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:dvCont];
[self presentModalViewController:navigationController animated:YES];

[navigationController release];
[dvCont release];   


}

祝你好运

那么,你想要一个“细节视图”,比如一个包含关闭按钮的弹出视图?或者您想要使用UINavigationController方法的详细视图控制器?但是如何返回到DetailViewController中的rootViewController?您需要在某个地方实现一个按钮,通常在UINavigationBar中实现(因此创建UIBarButtonItem并将其设置为self.navigationItem.leftBarButton)并将按钮的选择器设置为取消模式视图的方法。如果需要,我可以用代码更新我的答案。