У меня есть представление, которое я создаю в представлении load следующим образом:
- (void)loadView {
UIView *mainView = [[UIView alloc] initWithFrame:[UIApplication sharedApplication].keyWindow.bounds];
self.view = mainView;
[mainView release];
}
Итак, если я распечатываю вид, я получаю результат:
>
ОК, это то, что я хотел, 767x1024
Проблема в том, если я назову этот метод:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
и представить modalViewController, а затем закрыть его, на моем предыдущем контроллере представления, распечатав метод viewDidAppear и viewWillAppear. Я получил это:
viewWillAppear:
[<UIView: 0x4e946a0; frame = (0 0; 768 1024); layer = <CALayer: 0x4e946d0>>]
viewDidAppear:
[<UIView: 0x4e946a0; frame = (0 0; 768 1004); layer = <CALayer: 0x4e946d0>>]
Почему размер вида меняется на 20? Я знаю, что это как-то связано со строкой состояния, но не могу понять.
Спасибо.