2012-04-09 64 views
1

我想添加一个ViewController到我的TableView单元,但它在测试时没有显示出来。添加ViewController作为UITableViewCell中的子视图 - 没有显示

PhotoLocation是一个UIViewController子类。我在StoryBoard上创建了一个View Controller,并配置了一堆UILabels,UITextFields,UISwitch等。 PhotoLocation与该StoryBoard视图控制器相关联,其标识符是PhotoLocation。在一个单独的控制器 - UITableViewController,我有一个工作的TableView与细胞填充各种信息,我想添加PhotoLocation VC作为每个单元格的子视图。 (注意:PhotoLocation是一个自由大小的VC,大小为210x100)。

在我cellForRowAtIndexPath方法我做了以下内容:

// snip code above which sets up the cell and performs various other things 

PhotoLocation *photoLocation_ = [self.storyboard instantiateViewControllerWithIdentifier:@"PhotoLocation"]; 
[photoLocation_.view setFrame:CGRectMake(115, 0, 210, 109)]; 
[cell.contentView addSubview:photoLocation_.view]; 

return cell; 

当我运行应用程序的子视图不会在细胞中出现。这里有什么我失踪?

回答

2

如果我理解正确的话,尝试做制作榫文件(文件 - >新建文件 - >用户界面 - >查看)。删除“视图”并将表格视图单元格拖出。按照您在文章中描述的方式进行布局。在您的tableViewController做:

if (cell == nil) { 
    [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; 
    cell = tvCell; 
    self.tvCell = nil; 
} 

是的原因,你不能有画面2“viewControllers”在同一时间与控制器的控制器(标签栏,导航,SPLITVIEW)除外。您正在尝试将一个视图控制器放入另一个视图控制器中。

+0

交换和使用笔尖做的伎俩,谢谢。但是请注意,我确实将一个VC的加载作为一个子视图作为一个单元格工作。我把它加载到单元格中,但是在选择了单元格中的任何东西之后,我得到了一个运行时错误(我认为是错误的访问)。无论如何,笔尖是要走的路,再次感谢! – ElasticThoughts 2012-04-11 15:01:46

0

你试过吗?

PhotoLocation *photoLocation_ = [self.storyboardinstantiateViewControllerWithIdentifier:@"PhotoLocation"]; 

[photoLocation_.view setFrame:CGRectMake(115, 0, 210, 109)]; 

[cell addSubview:photoLocation_.view]; 

return cell; 
相关问题