вторник, 12 августа 2014 г.

Решение задач в XCode. Задача 2. Прозрачный NavigationBar

Вопрос прозрачности панели навигации возникает довольно редко, однако такая панель, по моему скромному мнению, выглядит вполне достойно, да и сделать ее довольно просто.

Итак, нам понадобится картинка или фон размером 320х64 в формате .PNG (для разных устройств высота панели навигации отличается, для правильного подбора размеров элементов воспользуйтесь ссылкой.

Добавляем картинку в наш проект в XCode. Далее необходимо задать прозрачность для панели и назначить нашу картинку для навигации в качестве backgroundImage.

В списке элементов Interface Builder выберите контроллер навигации, в нем найдите Navigation Bar. В инспекторе атрибутов этой панели навигации задайте стиль:



Вы можете отметить галочкой свойство Translucent, либо задать прозрачность в коде файла реализации как приведено ниже.

В файле реализации .m Вашего главного ViewController (при добавлении контроллера навигации из библиотеки он по умолчанию называется RootViewController) добавьте следующий код в метод ViewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar_grd_2_@2X.png"]forBarMetrics:UIBarMetricsDefault];
    

    self.navigationController.navigationBar.translucent = YES;
}

После написания достаточно простого кода у Вас получится прозрачная панель навигации, при сдвиге ячеек табличного представления за эту панель, они будут выглядеть следующим образом:



Спасибо за внимание!

Комментариев нет:

Отправить комментарий