【问题标题】:Adding subview to UITable将子视图添加到 UITable
【发布时间】:2011-06-02 08:30:57
【问题描述】:

我正在尝试将子视图添加到 UITableView 的一个部分中,看起来代码是正确的,它没有显示任何内容,只是空白部分。这是我使用的代码:

- (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 =@"<>";
    }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;
}

提前谢谢..

【问题讨论】:

  • 什么是pagepage.view.frame 的值是多少?
  • 这是一个类,一个包含 page.xib 的类.. 我正在尝试将 xib 的视图添加到表格部分..

标签: ios uitableview uiview xcode4


【解决方案1】:

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

附加视图

由于dPage 是一个视图控制器,您必须将page 声明为dPage 类的ivar,然后在viewDidAppear: 中执行此操作,

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

tableView:cellForRowAtIndexPath: 保持不变。

【讨论】:

  • 我不认为这是问题所在,因为我尝试了你的方式,会话仍然空白..我怀疑 .xib 在被调用到该部分时为空..任何方式确认一下?
  • 我确实说过页面是否正确加载。怎么加载的,能更新一下代码吗?
  • U是指page.xib还是mainpage.xib?
  • 你在哪里加载page.xib
  • 我不认为我会加载它,因为我认为 page.xib 会在调用该部分时自动调用(即上面的代码)。对不起,如果我错了,因为我刚开始学习 xcode 不到一个月。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多