Попробуйте установить таймер для анимации, я переместил десятки просмотров одновременно, и это заметное отсутствие в вашем коде:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(_shrinkDidEnd:finished:contextInfo:)];
tblSimpleTable.frame = tableFrame;
messegeField.frame = messegeFrame;
[UIView commitAnimations];
Я бы также не сказал, что я не использовал setAnimationDidStopSelector, поэтомуесли это ваша проблема, вы можете вызвать конец анимации с NSTimer, установленным на ту же продолжительность времени, что и анимация.