如何在iphone的tableview中增加单元格的高度?
Posted
技术标签:
【中文标题】如何在iphone的tableview中增加单元格的高度?【英文标题】:How to increase the height of the cell in a tableview in iphone? 【发布时间】:2010-02-12 14:56:27 【问题描述】:我是 iphone 开发新手。我正在解析一个 xml 文件并在表格的每一行中显示标题、日期、视图和摘要。摘要的内容很大,所以单元格中只显示前 3 个单词.如何根据内容的长度增加行的高度。所有的内容都应该正确地放在单元格内,并且应该显示完整的内容。请帮帮我。谢谢。
【问题讨论】:
【参考方案1】:您可以在 tableView.delegate/datasource 中执行此操作:
- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
switch (indexPath.row)
case 0:
if(indexPath.section==0)
return 123.0; // first row is 123pt high
default:
return 40.0; // all other rows are 40pt high
但这确实会降低滚动性能。理想情况下,您应该使用tableview.rowHeight
将所有行的行高设置为相同。
【讨论】:
我想增加显示摘要的单行的高度 根据 NSIndexPath 返回不同的数字。 你能详细说明你的答案吗?因为我是 iphone 新手,所以我无法理解它。 感谢它的工作,如果我使用分组表并包含 2 个表,我该怎么办。我只想增加第一个表的第一个单元格的高度.. 我为第一部分添加了检查。【参考方案2】:(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *text = @"write your dynamic text here";
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:14.0];
CGSize constraintSize = CGSizeMake(320.0f, 999); // Make changes in width as per your label requirement.
CGSize textSize = [text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return textSize.height;
【讨论】:
【参考方案3】:如果您在一个视图控制器中有多个 tableview,您可以按照以下方法对每个不同的 table view 进行操作。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
if (tableView == self.tableViewCampaigns)
return 45;
else if(tableView == self.tableViewAgenda)
return 32;
else
return 29;
【讨论】:
【参考方案4】:一种方法是手动设置单元格的大小。只需将 ROW_HEIGHT 替换为合适的即可。
cell.frame = CGRectMake(0.0, 0.0, 320.0, ROW_HEIGHT);
【讨论】:
我只想更改一行的高度,而不是所有行的高度。【参考方案5】:尝试使用根据单元格内容自动管理的 Delegates。
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
return 100
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
return UITableViewAutomaticDimension
【讨论】:
以上是关于如何在iphone的tableview中增加单元格的高度?的主要内容,如果未能解决你的问题,请参考以下文章
iPhone Tableview 在水平滚动而不是垂直中使用单元格
iPhone 4.3 的 Tableview 中的多个单元格选择
如何通过按下 iPhone 中的按钮将行/单元格动态添加到 UITableView
在 tableView:cellForRowAtIndexPath 中确定 iPhone 和 iPad 的不同单元格: