1

У меня есть UINavigarionController, и я хочу добавить пользовательский фон и логотип и левую кнопку на панель навигации. Я мог бы добавить фон, но мой логотип и кнопка не отображаются, не могли бы вы помочь мне, спасибо заранее!Пользовательский логотип и кнопка не отображаются в UINavigationBar

ответ

0

Ваш код работал и я получаю логотип и кнопки, но с одним изменением

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setImage:[UIImage imageNamed:@"menu.png"] forState:UIControlStateNormal]; 
    //[button addTarget:self action:@selector(parametres:) forControlEvents:UIControlEventTouchUpInside]; 
[button setFrame:CGRectMake(0, 0, 25, 25)]; 

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.navigationItem.rightBarButtonItem = rightButton; 

UIImageView *navigationImage=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 120, 30)]; 
navigationImage.image=[UIImage imageNamed:@"menu.png"]; 
UIImageView *workaroundImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 120, 30)]; 
[workaroundImageView addSubview:navigationImage]; 

self.navigationItem.titleView= workaroundImageView; 
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menu.png"]]; 

Просто указать тип изображения, то есть не меню, как menu.png и просто добавить его для navigationItem, установив UINavigationControllerDelegate вам класс, как указано выше, удачи и, пожалуйста, поделитесь своими результатами.

+0

это не сработало, я создаю их в делете приложения не в классе UIViewController – 2013-03-21 08:34:35

+1

, почему нужно создавать в AppDeleagte, как правило, вся такая задача должна выполняться в методе viewWillAppear вашего диспетчера view –

+0

, так как я хочу иметь ту же структуру в моей навигации контроллер не копирует и не вставляет весь код во все мое представление – 2013-03-21 08:45:02

0

barButton не может быть настроен для использования в целом приложении.

Каждый ViewController предоставляет собственный barButtonItems и titleView к navigationItem, так что вы должны переместить код установки логотипа и кнопки класса RootViewController

0

Вы не можете создать в вашем AppDelegate

Открыть свой ViewController.m

- (void)viewDidLoad 
{ 
    [email protected]"Title"; //Set the title 
    [self CustomButton]; 
    [super viewDidLoad]; 
// Do any additional setup after loading the view from its nib. 
} 

-(void) CustomButton 
{ 
    UIButton *but=[UIButton buttonWithType:UIButtonTypeCustom];//create a button 
    but.frame=CGRectMake(290, 4, 40, 40);// set the button frame size 
    [but setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
    [but addTarget:self action:@selector(call here) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithCustomView:but]; 
    self.navigationItem.rightBarButtonItem = btn; 
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault; 

} 

Надежда его полезным для вас :)

Смежные вопросы