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/文档/ 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/文档/ 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,只需检查哪一行和哪一部分并相应地调整高度