Добавить приложение UINavigationBar Shadow Wide? - PullRequest
1 голос
/ 30 марта 2012

Существует несколько руководств, показывающих, как добавить тень на панель UINavigation, но есть ли способ, который лучше всего подходит для добавления этого теневого приложения, а не в одном экземпляре?мой единственный вариант, чтобы просто иметь подклассифицированный Nab-бар в каждом представлении моего приложения?Думал, что есть более быстрый и простой способ, чем сделать это?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 30 марта 2012

Создайте категорию UINavigationBar с именем UINavigationBar+dropshadow.m и поместите ее в файл

#import <QuartzCore/QuartzCore.h>

@interface UINavigationBar (dropshadow)

-(void) applyDefaultStyle;

@end

@implementation UINavigationBar (dropshadow)

-(void)willMoveToWindow:(UIWindow *)newWindow{
    [super willMoveToWindow:newWindow];
    [self applyDefaultStyle];
}

- (void)applyDefaultStyle { 
    // add the drop shadow
    self.layer.shadowColor = [[UIColor blackColor] CGColor];
    self.layer.shadowOffset = CGSizeMake(0.0, 3.0);
    self.layer.shadowOpacity = 0.25;
    self.layer.shouldRasterize = YES;
}
@end
0 голосов
/ 30 марта 2012

Если вы работаете с iOS6, вы можете использовать для этого прокси-сервер Appearance.

Вот справочник класса Apple: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html

РЕДАКТИРОВАТЬ 1 Исправлена ​​необходимая версия iOS (ранее ошибочно была iOS5)

РЕДАКТИРОВАТЬ 2 Посмотрите этот вопрос: Внешний вид прокси - альтернатива setShadowImage для iOS 5? для фрагмента кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...