Как перейти от кастома к полупрозрачному NavigationBar и обратно Проблемы с отображением! - PullRequest
1 голос
/ 19 мая 2010

Итак, я получил это приложение на основе навигации (с пользовательской панелью навигации - Категория), и у меня возникли проблемы 2 здесь ...

@implementation UINavigationBar (Custom)

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

@end

Из-за навигации на основеПриложение, большинство представлений имеют высоту из 436px (= ScreenSize - высота NavigationBar, как вы, вероятно, знаете;).

У меня есть одно представление, похожее на обзор приложения для фотографий, показывающее все миниатюры, оттуда я помещаю контроллер стека, содержащий представление прокрутки (как в приложении для фотографий), в стек, например,

- (void)buttonPressed:(id)sender 
{
    UIButton *btn = (UIButton *)sender;
    PhotoSetScrollViewController *psc = [[PhotoSetScrollViewController alloc] initWithPhotoArray:photos andID:btn.tag];
    [self.navigationController pushViewController:psc animated:YES]; 
}

Проблема 1 : представление, содержащее полноэкранный вид прокрутки, имеет высоту из 480px , что, по-видимому, является проблемой, потому что при открытии контроллера просмотра нажатием кнопки назадвид, содержащий миниатюры (высота 436px ), перемещается вверх под панелью навигации.А также панель инструментов продолжает показывать.В чем может быть проблема?

РЕДАКТИРОВАТЬ: Полноэкранный просмотр прокрутки также перемещается, когда отображаются навигация и панель инструментов (изначально скрыты).И даже без пользовательской панели навигации я получаю плавающие вокруг представления.Это странно.

Проблема 2 : Как я могу переключаться между моей пользовательской панелью навигации и стандартным черным полупрозрачным стилем?

1 Ответ

0 голосов
/ 25 мая 2010

юлианский день

Проблема 1. Пожалуйста, уточните свой вопрос .... Вы пытаетесь сделать его таким же, как приложение «Фотографии», где вы нажимаете на одну фотографию, а затем можете скрыть панель навигации и панель инструментов? Если вы явно не скроете панель инструментов, она будет продолжать отображаться при нажатии на кнопку «Назад». Вы можете отложить всплывающее представление и скрыть его или скрыть в методе viewDidAppear контроллера предыдущего представления.

Если ваш вид перемещается, вы можете проверить настройки фрейма в IB (со второй до последней вкладки в окне инспектора после того, как вы щелкнете по рассматриваемому виду). Кроме того, убедитесь, что вы вставили в XIB-файлы фальшивую навигационную панель, чтобы вы могли правильно все разложить.

Задача 2:

Во-первых, проверьте этот пост: используя изображение или оттенок на uinavigationbar в iphone?

Тогда используйте это также:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
...