首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从UITableView显示DetailView

从UITableView显示DetailView
EN

Stack Overflow用户
提问于 2012-05-02 18:24:54
回答 5查看 1.3K关注 0票数 0

我有一个纵向的应用程序,在我的视图控制器(UIViewController,而不是UITableViewController)中有一个表格(UITableView),它只占据半个屏幕。我将表视图的委托和数据源设置为视图控制器。

现在,当我选择表格中的任何单元格时,我想要显示一个详细视图。下面是我尝试过的方法,但什么都没有出现:

代码语言:javascript
复制
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSLog(@"SELECTED");

//ChangeView

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

[self.navigationController pushViewController:dvController animated:YES];
dvController = nil;

}

有什么想法吗?这种解决方案比弹出式解决方案更好吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-02 18:32:08

你应该在nib文件中检查你的表视图,它的数据源和委托是否连接?只需将两者与文件所有者连接。

如果你使用uiview控制器,那么使用当前模型视图控制器,而不是推送模型视图控制器。

代码语言:javascript
复制
DetailViewController *dvc=[[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
[self presentModalViewController:dvc animated:YES];
票数 2
EN

Stack Overflow用户

发布于 2012-05-02 18:30:51

[NSBundle mainBundle]放在nil的位置。希望能有所帮助。告诉我发生了什么!还可以用[dvController release];替换dvController=nil;

编辑:将您的初始化函数替换为以下函数:

代码语言:javascript
复制
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
return self;
}
票数 2
EN

Stack Overflow用户

发布于 2012-05-02 18:50:03

初始化导航控制器。因为有一段时间它是由于ui组件没有初始化。但是请记住,您可能需要面对一些其他的UI问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10411858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档