iphone - Animate resizing UIView header of UITableView -


basically, want replicate behavior in login screen in facebook iphone: when input field touched, logo/header view decreases in height make room keyboard.

here have uitableview (with static content):

my login scene

the "control" uiview have contains logo in uiimageview, , "table view section" contains uitextfields username/password.

my question is, how can animate having uiview ("control") decreasing height, while having uitableviewcells in "table view section" naturally slide up? have tried following:

 [uiview animatewithduration:1.0f animations:^{     cgrect theframe = _headerview.frame;     theframe.size.height -= 50.f;     _headerview.frame = theframe; }]; 

where _headerview uiview header. resized, uitableview not react if uitableviewcell resized (i.e. login uitableviewcells don't shift up). how can fix this?

i have seen examples of how resize uitableviewcell, can't put header/logo in uitableviewcell table view section grouped , shouldn't login section.

edit

great answer! here's how ended animating it, view_is_up instance variable:

-(void)movetableview:(bool)up{     float move_distance = 55.f;     [uiview beginanimations:nil context:nil];     [uiview setanimationduration:.3f];     [uiview setanimationcurve:uiviewanimationcurveeaseout];     uiedgeinsets insets = self.tableview.contentinset;     if(view_is_up&&!up){         insets.top += move_distance;         view_is_up = no;     }     else if(!view_is_up&&up){         insets.top -= move_distance;         view_is_up = yes;     }     self.tableview.contentinset = insets;     [uiview commitanimations]; } 

it works beautifully, , configurable via uiview animations.

if add following code in animations' block, should fix it:

uiedgeinsets insets = self.tableview.contentinset; insets.top -= 50.f; self.tableview.contentinset = insets; 

where self.tableview outlet uitableview


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -