Я использую категорию ниже, чтобы программно изменить фон панели навигации в моем приложении.Он работает нормально, но я не вижу нужную кнопку, которую я добавил в навигационную панель.Кнопка кажется скрытой, так как нажатие на правую навигационную панель по-прежнему вызывает действие, связанное с правой кнопкой навигационной панели.Кроме того, как я могу удалить фон навигации, который был добавлен с помощью данного метода категории?
UINavigationBar + CustomImage.h
#import <Foundation/Foundation.h>
@interface UINavigationBar (CustomImage)
- (void)setBackgroundImage:(UIImage *)image;
- (void)clearBackgroundImage;
UINavigationBar + CustomImage.m
#import "UINavigationBar+CustomImage.h"
@implementation UINavigationBar (CustomImage)
{
if(image==nil) return;
UIImageView *image_view = [[UIImageView alloc] initWithImage:image];
image_view.frame = CGRectMake(0,0,320,44);
[self addSubview:image_view];
}
- (void)clearBackgroundImage
{
NSSArray *subviews = [self subviews];
for(int i=0;i<[subviews count];i++)
{
if([[subviews objectAtIndex:i] isMemberOfClass:[UIImageView class]])
{
[[subviews objectAtIndex:i] removeFromSuperview];
}
}
}
И на мой взглядКонтроллер называется так:
[[self.navigationController navigationBar] performSelectorInBackground:@selector(setBackgroundImage:) withObject:[UIImage imageNamed:@"header-background.png"]];
Спасибо за помощь,
Стефан