user973985
user973985

Reputation: 291

Change Height of a UITableViewCell

I want to make a UITableViewCell bigger. How can I do this, I have tried adjusting its frame but nothing happens. What can I do?

Upvotes: 16

Views: 33374

Answers (5)

ChrisJF
ChrisJF

Reputation: 7200

I found this answer to be the most informative and most up-to-date to change the height of a table view cell.

TL;DR

  1. Take extra care when making your Auto Layout constraints
  2. Enable row height estimation on your table view in the viewDidLayoutSubviews method.

    self.tableView.rowHeight = UITableViewAutomaticDimension self.tableView.estimatedRowHeight = 44.0; // set to whatever your "average" cell height is

Upvotes: 0

scaryguy
scaryguy

Reputation: 7960

There are 2 steps to change height of a table cell without any additional code:

  1. Select your Table View from your Storyboard. In the Size Inspector change Row Height.
  2. Select your Table View Cell and while it's selected in the Size Inspector change the Row Height.

Note that you MUST set BOTH of Table View's Row Height attribute and Table View Cell's Row Height attribute.

If you just set one of them, it won't work.

Upvotes: 8

User-1070892
User-1070892

Reputation: 929

You can do like this..

//Change the Height of the Cell [Default is 44]:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
  if (indexPath.section == 0) {
   if (indexPath.row == 1) {
     return 90;
   }
  }
  return 44;
}

I hope this will help you..

Upvotes: 18

Nithinbemitk
Nithinbemitk

Reputation: 2740

You can use this code for changing the height of different tableview

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(tableView == tableView1) 
    {
        return 55;
    }
    else if(tableView == tableView2)
    {
        return 75;
    }
}

This may help you.

Upvotes: -2

Shane Powell
Shane Powell

Reputation: 14158

You need to implement the

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

method in your UITableViewDelegate.

Upvotes: 37

Related Questions