2011-06-02 110 views
0

我试图将子视图添加到UITableView中的一个部分,它看起来像代码是正确的,它不显示任何内容,只是空白部分。下面是我使用的代码:将子视图添加到UITable

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    if(indexPath.section==0){ 
     cell.textLabel.text [email protected]"<>"; 
    }else if(indexPath.section==1){ 
     if(indexPath.row==1){ 
      cell.frame =CGRectMake(0,0, 100, 100); 
      [cell.contentView addSubview:page.view]; 
     } 
    } else if(indexPath.section==2){ 

    } 


    // Configure the cell. 
    return cell; 
} 

感谢名单提前..

+1

什么是'page'? 'page.view.frame'的价值是什么? – 2011-06-02 08:36:32

+0

它是一个类,其中有一个page.xib类..我试图将xib的视图添加到表部分.. – 2011-06-02 08:42:06

回答

1

其中的一个问题是,你正在试图改变细胞的高度。如果您想这样做,除了更改其框架外,还必须实施tableView:heightForRowAtIndexPath:并为每行返回适当的值。如果页面正确加载(假设它是一个视图控制器),则可以将该视图添加为子视图。确保其框架落入单元格的边界内。

附加视图

由于dPage是一个视图控制器,你将不得不宣布pagedPage类的ivar,然后在viewDidAppear:为此,

page = [[dPage alloc] initWithNibName:"page" bundle:nil]; 

tableView:cellForRowAtIndexPath:保持不变。

+0

我不认为这是问题,因为我尝试了它的方式,会议仍然是空白..我怀疑.xib在调用该部分时是空的..任何方式来确认这一点? – 2011-06-02 08:59:25

+0

我确实说过,如果页面正确加载。你是如何加载它的,你能更新代码吗? – 2011-06-02 09:08:19

+0

U是指page.xib还是mainpage.xib? – 2011-06-02 09:14:21