注意:很明显,宽度是 300。我不完全确定,因为在我给一个宽度为 300 的单元格后,单元格被调整为 320。我问的原因是因为在一种情况下我给了 300,在另一种情况下我给了 320两者都工作正常。我想知道有没有官方的方法。
我不是在问分组单元格的单元格宽度是多少。我在问我应该提供的单元格的宽度是多少。我有时会毫无问题地发送 300 个宽度的单元格和 320 个单元格。
我使用 xib 并将 UITableViewCell 子类化。已经做过很多次了。有用。我只是好奇是否只有一些官方文档在分组时需要返回比 UITableViewCell 窄 20 点的 tableViewCell,因为我在任何地方都没有看到。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
NearbyShortcutTableViewCell * cell;
if([self.arrayOfItems[row] isNotEmpty]){
cell=(NearbyShortcutTableViewCell *)self.arrayOfItems[row];
}
PO(cell);
PO(cell.superview);
PO(cell.superview.superview);
return cell;
}
cell.superview.superview: (null)
cell: <NearbyShortcutTableViewCell: 0x89a8300; baseClass = UITableViewCell;
frame = (0 0; 300 50); layer = <CALayer: 0x89a8420>>
cell.superview: (null)
cell.superview.superview: (null)
cell: <NearbyShortcutTableViewCell: 0x89a9030; baseClass = UITableViewCell; frame = (0 0; 300 50); layer = <CALayer: 0x89f3d60>>
cell.superview: (null)
cell.superview.superview: (null)
cell: <NearbyShortcutTableViewCell: 0x8bbf5e0; baseClass = UITableViewCell; frame = (0 754; 320 50); autoresize = W; layer = <CALayer: 0x8bbf700>>
cell.superview: (null)
cell.superview.superview: (null)
cell: <NearbyShortcutTableViewCell: 0x8bb48b0; baseClass = UITableViewCell; frame = (0 704; 320 50); autoresize = W; layer = <CALayer: 0x8bbe6d0>>
cell.superview: (null)
cell.superview.superview: (null)
cell: <NearbyShortcutTableViewCell: 0x8bb4050; baseClass = UITableViewCell;
frame = (0 654; 320 50); autoresize = W; layer = <CALayer: 0x8bbe2c0>>
所以一开始我提供了一个 300 宽的单元格。不知何故,它被调整为 320。但是,一切仍然“很好”
实际上我应该提供一个 300 宽度的单元还是一个 320 宽度的单元?
似乎无论我提供的单元格大小,单元格本身都会调整为 tableViewCell 的宽度。我只是不想在调整大小时处理子视图布局。