如何从UITableview的边缘获取填充到UITableViewCell

时间:2013-01-10 02:42:23

标签: objective-c uitableview padding

在iPad上,Grouped样式tableview的单元格从桌面边缘比在iPhone上更深。

我需要检索从tableview边缘到单元格开始处的左右距离。我指的是类似“边缘”。我上下阅读了UITableview API,找不到返回此属性的属性。

我需要在计算中使用它来计算在我的单元格中定位内容的位置。

提前致谢! 亚历

2 个答案:

答案 0 :(得分:3)

我没有对此进行过测试,但我很确定你应该能够选择两者的帧然后从那里进行比较。

CGRect cellFrame = yourCell.frame;

CGRect tableFrame = yourUITableView.frame;

CGRect值为(x coordinate, y coordinate, width, height)

您也可以使用以下方式打印出框架:

 NSLog(@"your cell frame is %@",NSStringFromCGRect(yourCell.frame);
 NSLog(@"your table frame is %@",NSStringFromCGRect(yourUITableView.frame);

答案 1 :(得分:1)

我解决了这个问题,重写了对iPad的layoutSubviews调用,并将分组视图边距设置为我想要的,而不是显然隐藏的值。 Stack中的其他答案指出它的宽度可以从10到45像素不等。

In your CustomTableViewCell class
- (void)layoutSubviews
{
    CGRect f = self.bounds;
    f = CGRectInset(f, 10, 0);
    self.contentView.frame = f;
    self.backgroundView.frame = f;
}

您可以强制它使contentView和backgroundView等于TableView宽度的那个,即TableView宽度,但在这种情况下,我仍然希望我的分组视图插入一点点。它还允许您更好地匹配自定义页眉/页脚视图,该视图将无法正常工作。