如何将UIView添加到符合其界限的UITableViewCell内容视图中?
也就是说,我创建了一个NIB文件(上面有3个标签),并希望用它来显示UITableView中的每个单元格。我在cellForRowAtIndexPath方法中添加了基于自定义NIB的视图到单元格的内容视图,但是我看到的最终结果是一(1)个基于自定义NIB的视图(在我看中的tableview中不是多个)。
如何安排每个自定义视图在每个UITableViewCell中整齐地放置?另请注意,自定义NIB视图中的标签具有自动换行功能。
我是否必须为自定义NIB视图创建一个框架,但在那种情况下,我不确定如何设置坐标。它会相对于UITableViewCell吗?如果自定义视图高度可以由于它的UILabel自动换行而改变,那么我假设我必须在UITableView中单独手动计算这个高度? (也许我应该去动态/自定义视图创建并放弃使用InterfaceBuilder / NIB的概念)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
UIView *detailedView = [[[NSBundle mainBundle] loadNibNamed:@"DetailedAppointView" owner:self options:nil] objectAtIndex:0];
[cell.contentView addSubview:detailedView]; // DOESN'T SEE TO WORK
return cell;
}
答案 0 :(得分:1)
如果我需要实现自定义UITableViewCell,我就是这样做的。
我为自定义单元格ex创建了UITableViewCell
的子类。 “MyCustomCell”。然后我为它创建一个NIB文件,在这个NIB文件中,我插入UITableViewCell
并将其类型更改为“MyCustomCell”,并为其指定一个与类名相同的标识符。然后我将所有子视图插入到我的单元格中。全部在IB。
在我把我的细胞拉到我的喜欢之后:-)我用以下方式使用它:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyCustomCell";
static NSString *CellNib = @"MyCustomCell";
MyCustomCell *cell = (MyCustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil];
cell = (MyCustomCell *)[nib objectAtIndex:0];
}
//Manipulate your custom cell here
return cell;
}