表格视图单元格高度…如何自定义它?

时间:2022-09-15 22:21:57

Is it possible to modify height of only one cell in a grouped table view?
I have a table view with 2 sections of 3 and 2 rows... I would change row height of the second row of the second section...

是否可以在分组表视图中只修改一个单元格的高度?我有一个表视图,有2个部分3和2行…我会改变第二部分第二行的行高……

How can I do this?
Thanks!

我该怎么做呢?谢谢!

4 个解决方案

#1


51  

You can look at this method:

你可以看看这个方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath。

In your case, the code should look like:

在您的案例中,代码应该如下所示:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.section == 1 && indexPath.row == 1) {
      return SPECIAL_HEIGHT;
   }
   return NORMAL_HEIGHT;
}

You can look for more details about the method here

您可以在这里查找关于该方法的更多细节

#2


3  

In iOS 8 and above we can use the Dynamic Table View Cell Height.

在ios8和以上版本中,我们可以使用动态表视图单元格高度。

Using this feature UITableviewCell get its height from its content and We don't need to write heightForRowAtIndexPath

使用这个特性UITableviewCell可以从内容中获取其高度,我们不需要编写heightForRowAtIndexPath

All I have to do in viewDidLoad()

我在viewDidLoad()中所做的一切

tableView.estimatedRowHeight = 44.0;
tableView.rowHeight = UITableViewAutomaticDimension;

If cell contains uilabel. then apply constraints to uilabel

如果细胞包含uilabel。然后对uilabel应用约束。

表格视图单元格高度…如何自定义它?

Make sure you change Label --Lines-- to 0

确保你把标签——线——改成0

表格视图单元格高度…如何自定义它?

The cell will grow automatically with content of uilabel:

细胞会随着uilabel的含量而自动生长:

表格视图单元格高度…如何自定义它?

#3


1  

You can implement the following method to return the height for the row at a given index path:

您可以实现以下方法来返回给定索引路径下的行高度:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html%23//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:

http://developer.apple.com/library/ios/文档/ uikit /引用/ UITableViewDelegate_Protocol /引用/ Reference.html % 23 / / apple_ref / occ / intfm / UITableViewDelegate / tableView:heightForRowAtIndexPath:

#4


0  

Have a look at

看一看

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

For the indexpath just check for which row and section and adjust the height accordingly

对于indexpath,只需检查哪一行和哪一部分并相应地调整高度

#1


51  

You can look at this method:

你可以看看这个方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath。

In your case, the code should look like:

在您的案例中,代码应该如下所示:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.section == 1 && indexPath.row == 1) {
      return SPECIAL_HEIGHT;
   }
   return NORMAL_HEIGHT;
}

You can look for more details about the method here

您可以在这里查找关于该方法的更多细节

#2


3  

In iOS 8 and above we can use the Dynamic Table View Cell Height.

在ios8和以上版本中,我们可以使用动态表视图单元格高度。

Using this feature UITableviewCell get its height from its content and We don't need to write heightForRowAtIndexPath

使用这个特性UITableviewCell可以从内容中获取其高度,我们不需要编写heightForRowAtIndexPath

All I have to do in viewDidLoad()

我在viewDidLoad()中所做的一切

tableView.estimatedRowHeight = 44.0;
tableView.rowHeight = UITableViewAutomaticDimension;

If cell contains uilabel. then apply constraints to uilabel

如果细胞包含uilabel。然后对uilabel应用约束。

表格视图单元格高度…如何自定义它?

Make sure you change Label --Lines-- to 0

确保你把标签——线——改成0

表格视图单元格高度…如何自定义它?

The cell will grow automatically with content of uilabel:

细胞会随着uilabel的含量而自动生长:

表格视图单元格高度…如何自定义它?

#3


1  

You can implement the following method to return the height for the row at a given index path:

您可以实现以下方法来返回给定索引路径下的行高度:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html%23//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:

http://developer.apple.com/library/ios/文档/ uikit /引用/ UITableViewDelegate_Protocol /引用/ Reference.html % 23 / / apple_ref / occ / intfm / UITableViewDelegate / tableView:heightForRowAtIndexPath:

#4


0  

Have a look at

看一看

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

For the indexpath just check for which row and section and adjust the height accordingly

对于indexpath,只需检查哪一行和哪一部分并相应地调整高度