在 iPad 上,Grouped 样式的 tableview 的单元格比在 iPhone 上从 tableview 的边缘插入得更深。
我需要检索从表格视图边缘到单元格开始位置的左右距离。我指的是类似于“边距”。我上下阅读了 UITableview API,找不到返回这个的属性。
我需要在计算中使用它来计算在我的单元格中放置内容的位置。
提前致谢!亚历克斯
在 iPad 上,Grouped 样式的 tableview 的单元格比在 iPhone 上从 tableview 的边缘插入得更深。
我需要检索从表格视图边缘到单元格开始位置的左右距离。我指的是类似于“边距”。我上下阅读了 UITableview API,找不到返回这个的属性。
我需要在计算中使用它来计算在我的单元格中放置内容的位置。
提前致谢!亚历克斯
我还没有测试过这个,但我很确定你应该能够拿起两者的框架,然后从那里进行比较。
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);
我通过覆盖 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 等于 TableCell 的宽度,即 TableView 的宽度,但在这种情况下,我仍然希望我的分组视图稍微插入一点。它还允许您更好地匹配自定义页眉/页脚视图,无需工作即可边缘到边缘。