Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set a UITableView static cell to a custom height?

I have a UITableView with static cells and I am trying to change the height of the cell when it meets a condition. The conditions are being met but the cell heights won't change.

The code I am using is

[self.tableView setRowHeight:10];

And

self.tableView rowHeight = 10;

Neither of these will change the row height of the cells Is there another way to change them?

like image 465
user1282180 Avatar asked Jun 23 '12 20:06

user1282180


2 Answers

You need to implement the following delegate-method in your tableview's .m:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return customTableCellHeight;
}

And then change the value of customTableCellHeight:

if (condition) {
    customTableCellHeight = 80; // or whatever
}

When your table cell height needs to change (like when the condition changes, you need to call

 [self.tableView reloadData]; //This calls heightForRowAtIndexPath for all cells
like image 89
JulenissensHjelper Avatar answered Oct 22 '22 03:10

JulenissensHjelper


you can use this for all row of tableview

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
      return 100
    }
like image 21
TeckPress.Net Avatar answered Oct 22 '22 04:10

TeckPress.Net