Видя из вашего комментария ниже, что вы ориентируетесь на iPhone OS 2.x, у меня есть предложение, которое может помочь.
Перед тем, как представить свой модальный вид, сделайте что-то вроде этого:
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
[[self view] setFrame:CGRectMake(0, 0, 320, 480)];
Убедитесь, что ваш модальный вид на самом деле имеет высоту 480px - однажды меня одурачило пустое пространство в 20px внизу. Оказалось, это потому, что мой взгляд все еще был 460 пикселей в высоту (для учета строки состояния), поэтому код на самом деле работал, но мой взгляд был неправильной высоты.
При скрытии модального вида это работает:
[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[[self view] setFrame:CGRectMake(0, 20, 320, 460)];
Возможно, вам придется немного изменить код, если вы используете presentModalViewController
- я попробовал это с помощью -addSubview
, потому что я использовал собственную анимацию. Но основные принципы должны быть одинаковыми (т.е. изменение фрейма родительского представления).