在cellForRowAtIndexPath
中,我使用随机化来创建两种不同的自定义UITableViewCell
类型之一,我们称它们为LCImageCell
and LCTextCell
(一个包含图像,一个包含一些文本,它是随机的,将显示在每一行中)。这基本上是这样排列的:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
// Determine whether the cell should contain an image or text..
BOOL isCellAnImage;
int randomChanceOfImageAppearing = arc4random() % 5;
if (randomChanceOfImageAppearing == 4) isCellAnImage = YES;
else isCellAnImage = NO;
// If the cell is going to contain an image..
if (isCellAnImage) {
LCIImageCell *imageCell = [tableView dequeueReusableCellWithIdentifier: @"ImageCell"];
if (imageCell == nil) {
imageCell = [[LCImageCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"ImageCell"];
}
return imageCell;
// Else the cell will contain text..
} else {
// Make and allocate the cell if necessary.
LCTextCell *customCell = [tableView dequeueReusableCellWithIdentifier: @"CustomCell"];
if (customCell == nil) {
customCell = [[LCTextCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"CustomCell"];
}
return customCell;
}
}
我需要动态设置带有文本(LCTextCell
实例)的高度,并且工作正常。我现在要整合图像单元格,我想知道如何让我heightForRowAtIndexPath
知道有问题的单元格是 anLCImageCell
还是 a LCTextCell
,以便我只能在有问题的单元格是时应用高度调整LCTextCell
。
我可以在设置高度之前访问应用高度的单元格吗?它甚至在那个时间点被创建/分配/初始化了吗?