【问题标题】:UITableView add subviewUITableView 添加子视图
【发布时间】:2011-10-12 07:59:37
【问题描述】:

我想在UITableView中添加子视图

我试过这样:

[self.tableView addSubView:myView.view];

我没有收到任何错误,但没有添加视图,谁能帮忙..?

谢谢。

【问题讨论】:

  • 如果 myView 是 UIView 类型,那么只需 [self.tableView addSubView:myView];
  • 什么是myView?它是 UIViewController 还是 UIView 的子类
  • 我创建了 UIView 的对象并添加到 tableview 的子视图中
  • 那么你应该这样写...[self.tableView addSubView:myView]
  • 我已经在我的 cmets 中添加了我已经成功完成我的任务仍然感谢您的时间。

标签: iphone ios uitableview addsubview


【解决方案1】:

试试这个:

view.frame = CGRectMake(view.frame.origin.x, -view.frame.size.height, view.frame.size.width, view.frame.size.height);
[self.tableView addSubview:view];
[self.tableView setContentInset:UIEdgeInsetsMake(view.frame.size.height, 0, 0, 0)];

这将在单元格上方添加视图,并将单元格向下移动添加视图的高度。

【讨论】:

    【解决方案2】:

    我不明白您为什么要向 Tableview 添加子视图。可能是您想为 tableView 的每个单元格添加一些内容。您可以通过添加:

    [cell.contentView addSubview:yourSubView];
    

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {    
    }
    

    【讨论】:

    • 现在它工作正常实际上我必须在表格视图中间添加指示器,背景为透明视图,但现在它工作正常感谢您的回答
    【解决方案3】:

    self.tableViewmyView 都不应该是 nil

    myView.view 是什么意思?

    这段代码对我很有用:

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
    UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(20, 80, 200, 20)];
    labelView.text = @"TEST";
    [headerView addSubview:labelView];
    
    [self.tableView addSubview:headerView];
    

    【讨论】:

      【解决方案4】:

      对于斯威夫特:

      let foregroundView = UILabel(frame: CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height))
      foregroundView.backgroundColor = UIColor.whiteColor()
      tableView.addSubview(foregroundView)
      foregroundView.bringSubviewToFront(tableView)
      

      你也可以删除它:

      foregroundView.removeFromSuperview()
      

      【讨论】:

        【解决方案5】:

        只需将您的代码行替换为以下代码:

        [self.tableView.superview addSubview:myView];
        

        注意:

        我不确定您在问题中提到的代码行中的myView.view

        【讨论】:

        • tableView.superview 为零
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多