我在自动调整表格视图单元格方面遇到了一些麻烦。我已经能够根据文本的大小调整单元格标签的大小,但是我无法相应地调整单元格高度。这是一些代码:
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellIdentifier";
_cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (_cell == nil)
{
_cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
PFObject *object = [_postsArray objectAtIndex:indexPath.row];
NSString *nameString = [object objectForKey:@"Name"];
_cell.cellLabel.text = [NSString stringWithFormat:@"Posted by %@", nameString];
_cell.cellPostLabel.text = [NSString stringWithFormat:@" %@", [object objectForKey:@"PostedDream"]];
[_cell.cellPostLabel sizeToFit];
[tableView setAutoresizesSubviews:YES];
NSLog(@"cell post label height: %f", _cell.cellPostLabel.frame.size.height);
return _cell;
}
需要注意的是,我正在使用一个名为TableViewCell *cell
的自定义表格视图单元格UITableViewCell
,并且单元格及其标签是通过IB添加的。
正在调整的标签是cellPostLabel,它可以根据文本的数量进行完美调整,但由于单元格不能调整,它会被切断。
我也尝试过调用[self.tableView setAutoresizesSubviews:YES];
和
self.tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
中的viewDidAppear:
但仍然没有。任何建议将不胜感激。
答案 0 :(得分:0)
单元格高度由heightForRowAtIndexPath方法确定。
您可以在viewcontroller上实现该方法并返回您喜欢的高度。
如果您的单元格应具有不同的高度,则应实现该方法并为每个单元格返回不同的值。或者不仅仅返回静态值或设置tableview的属性rowHeight,在这种情况下,您不需要实现该方法。