iPhone - NavigationBar Пользовательский Фон [дубликат]

11
задан Community 23 May 2017 в 12:14
поделиться

2 ответа

Вы можете просто добавить подвид (UIImageView) в navaigationBar, который является просто подклассом UIView.

UINavigationBar nb = [[UINavigationBar alloc]init];
[nb addSubview: foo];
[nb release];

Вот сообщение на форуме, в котором описывается, как объединить это в категорию: http://discussions.apple.com/thread.jspa?threadID=1649012&tstart=0

6
ответ дан 3 December 2019 в 02:19
поделиться

(дополнение к ответу Эндрю Джонсона)

Связанный пост Apple.com включает 3 или 4 различных решения, большинство из которых работают только "наполовину". Я думаю, что наиболее элегантным/эффективным из них является вот это:

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

НО... это не является хорошей практикой ObjC, чтобы сделать это категорией (это должно быть переопределение), и это имеет некоторые собственные проблемы.

Итак, более общее и мощное решение здесь:

http://samsoff.es/posts/customize-uikit-with-method-swizzling

10
ответ дан 3 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

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