uiTableViewCell中这些神秘的边界是什么?

时间:2012-05-14 14:04:50

标签: ios uitableview three20

我在IO应用程序中有以下层次结构:

. TTTableViewController, with the following elements
.. @""
.. TTTableCaptionItem
.. @""
.. TTTableSubtitleItemCell
.. @""
.. TTTableTextItem
.. @""
.. (other cells)
.. TTTableViewItem
 ... TTTableViewController

这显示嵌入式TTTableViewController周围的“神秘边界”,我似乎无法摆脱它。

image

嵌入式TableViewItem的初始化完全是vanilla:

@implementation DetailCommentsItemCell
   - (id) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
    {
      if (self = [super initWithStyle:UITableViewCellStyleSubtitle  reuseIdentifier:reuseIdentifier])
      {
      }
      return self;
    }
- (void)setObject:(id)object {
  _item = object;
  [self.contentView addSubview:[[object commentsViewController] tableView]];
}

(“commentsViewController”是嵌入式TTTableViewController)

有谁知道这些边界是什么以及如何摆脱它们?

根据要求,这是表格的设置代码:

    - (id)initWithFilter:(ObjectId)parameter_filter detailViewController:(DetailViewController  *)dvp;
   {
      DDLogInfo(@"CommentsViewController::initWithFilter parameter_filter %llu",
                parameter_filter);

      if (self = [super initWithStyle:UITableViewStyleGrouped])
      {

        self.tableView.clipsToBounds = YES;
        self.variableHeightRows = YES;
      }
      return self;
    }

更新:

@ rishi的优秀建议我添加了

self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.backgroundView = nil;

这好多了,但我还有一件神器。见下文:

enter image description here

另一个更新:我添加了以下代码:

self.tableView.layer.borderColor      = [[UIColor clearColor] CGColor];
self.tableView.layer.backgroundColor  = [[UIColor clearColor] CGColor];

现在看起来像这样:

enter image description here

好像这层是罪魁祸首 - 但我无法摆脱边界 - 如果那就是它。

作为实验,我将包含单元格图层的边框设置为2和红色。这就是我得到的,它告诉我神秘的边界与桌子有关,而不是它周围的细胞:

enter image description here

这是ODD。我在Retina显示屏中看了它,“边框”实际上是桌子旁边某个物体的边框。

enter image description here

最终更新:

该工件原来是内部TableViewItem嵌入的表格单元格的边界。由于我进行了插入调整,单元格被偏移,但我无法正确调整y原点。

感谢大家的帮助!

1 个答案:

答案 0 :(得分:0)

initWithFilter method-

中使用以下代码
self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.backgroundView = nil;