Изменение размеров UINavigationBar на вращении

Devpac (синяя кассета) приезжает по моему мнению, даже после всех этих лет.

Несомненно, это был № 1. Я не пропускаю кассетную нагрузку, все же. Хороший вопрос!!!: D

http://www.clive.nl/detail/22916/

я думаю, что у меня было v.3. Это уверенный выглядело намного более самодельным, чем этот рис., Но это работавший и не имело единственной ошибки. Удар это, текущее программное обеспечение!!!

7
задан MW. 3 December 2009 в 07:29
поделиться

2 ответа

Я нашел решение и, оглядываясь назад, чувствую себя довольно глупо. Мне просто нужно было включить гибкое нижнее поле в маску автоматического изменения размера панели навигации. Благодарим пользователя RayNewbie в этом потоке, который указал мне на решение:

http://discussions.apple.com/thread.jspa?messageID=8295525

1
ответ дан 7 December 2019 в 10:03
поделиться

Вместо того, чтобы устанавливать маску автоизменения размеров, почему бы вам не просто проверьте текущую ориентацию в viewWillAppear, а также в didRotateFromInterfaceOrientation и установите соответствующий фрейм?

- (void) updateNavBar {
    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
    if ((UIInterfaceOrientationLandscapeLeft == orientation) ||
        (UIInterfaceOrientationLandscapeRight == orientation)) {
        myNavBar.frame = CGRectMake(0, 0, 480, 34);
    } else {
        myNavBar.frame = CGRectMake(0, 0, 320, 44);
    }
}
- (void) viewWillAppear {
    [self updateNavBar];
    // ... SNIP ...
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [self updateNavBar];
    // ... SNIP ...
}
5
ответ дан 7 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: