MiMo MiMo - 10 months ago 63
iOS Question

Resizing UITableView to fit content

I am creating an app which will have a question in a

and a multiple choice answers displayed in
, each row showing a multiple choice. Questions and answers will vary, so I need this
to be dynamic in height.

I would like to find a
work around for the table. Where the table's frame is set to the height of all it's content.

Can anyone advise on how I can achieve this?

Answer Source

Actually I found the answer myself.

I just create a new CGRect for the tableView.frame with the height of table.contentSize.height

That sets the height of the UITableView to the height of its content. Since the code modifies the UI, do not forget to run it in the main thread:

dispatch_async(dispatch_get_main_queue(), ^{
        //This code will run in the main thread:
        CGRect frame = self.tableView.frame;
        frame.size.height = self.tableView.contentSize.height;
        self.tableView.frame = frame;