Проблема в том, что некоторые внутренние панели поиска заставляют изменение размера игнорировать анимацию.
Это сработало для меня -
[UIView animateWithDuration:0.2 animations:^ {
[searchBar setFrame:searchBarFrame];
[searchBar setNeedsLayout];
}];
Где searchBarFrame
- это фрейм, который вам нужно установить (я сохраняю его до первого изменения размера панели поиска)