16

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?

5 Answers 5

37

You need to implement the

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

method in your UITableViewDelegate.

Sign up to request clarification or add additional context in comments.

Comments

18

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..

1 Comment

actually i am doing something similar i make it bigger compared to the text labels length
8

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.

Comments

0

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

1 Comment

This is a late answer to an old question. If you feel that this question is a duplicate, it should be flagged as such.
-2

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.