tags:

views:

868

answers:

2

In my app, I would like to resize the tableview's height when it's in edit mode vs when it's not (in order to make room for editing controls below the table view)

How should this be done?

A: 

You can implement the table view delegate's tableView:willBeginEditingRowAtIndexPath: and tableView:didEndEditingRowAtIndexPath: to figure out when a given row (and thus the table) goes into and out of editing mode, respectively.

From there, you can just tweak the value of the frame.size.height property of the table view (optionally inside a UIView animations block) as appropriate. It may also be helpful to check the editing property of the table view as a whole inside the delegate methods, in case you receive multiple calls to either delegate method before receiving any calls to their complementary methods.

More info:

Tim
+1  A: 

You need to set the bounds of the tableview:

CGRect tvbounds = [tableView bounds];
[tableView setBounds:CGRectMake(tvbounds.origin.x, 
                                tvbounds.origin.y, 
                                tvbounds.size.width, 
                                tvbounds.size.height + 20)];
rein