почему изображения не поступают на панель навигации UIBarButton - PullRequest
1 голос
/ 12 июля 2011

Вот мой код. Это добавляет изображение, но изображения появляются на панели навигации.

UIToolbar* toolbartop = [[UIToolbar alloc]
                      initWithFrame:CGRectMake(0, 0, 100, 45)];
[toolbar setBarStyle: UIBarStyleBlackOpaque];

// create an array for the buttons
NSMutableArray* buttonstop = [[NSMutableArray alloc] initWithCapacity:5];


UIBarButtonItem *remainderButton = [[UIBarButtonItem alloc] 
                                    initWithImage:[UIImage imageNamed:@"home.png"]
                                    style:UIBarButtonItemStylePlain 
                                    target:self 
                                    action:@selector(LoadOption:)];


 [buttonstop addObject:remainderButton];
[remainderButton release];

UIBarButtonItem *faveButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"home.png"]
                                                               style:UIBarButtonItemStylePlain
                                                              target:self
                                                              action:@selector(homeAction)];
[buttonstop addObject:faveButton];
[faveButton release];


// put the buttons in the toolbar and release them
[toolbartop setItems:buttonstop animated:NO];
[buttonstop release];

// place the toolbar into the navigation bar
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbartop];

Но этот код показывает изображение в правой панели навигации.

UIBarButtonItem *settingButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"home.png"]
                                                               style:UIBarButtonItemStylePlain
                                                              target:self
                                                              action:@selector(homeAction)];
self.navigationItem.rightBarButtonItem = settingButton;

Почему левая кнопка навигационной панели не показывает изображения?

[toolbartop release];

Ответы [ 3 ]

1 голос
/ 12 июля 2011

Вы можете добавить изображение к вашему левому BarButtonItem следующим образом:

UIButton *button1 = [[UIButton alloc] init];
button1.frame=CGRectMake(0,0,105,30);
[button1 setBackgroundImage:[UIImage imageNamed: @"image1.png"] forState:UIControlStateNormal];
[button1 addTarget:appDelegate action:@selector(Open_Link1) forControlEvents:UIControlEventTouchUpInside];

UIButton *button2 = [[UIButton alloc] init];
button2.frame=CGRectMake(105,0,105,30);
[button2 setBackgroundImage:[UIImage imageNamed: @"image2.png"] forState:UIControlStateNormal];
[button2 addTarget:appDelegate action:@selector(Open_Link2) forControlEvents:UIControlEventTouchUpInside];

UIView *viewButtons = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 210, 30)];
[viewButtons addSubview:button1];
[viewButtons addSubview:button2];
[button1 release];
[button2 release];

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:viewButtons];
[viewButtons release];

Здесь, пожалуйста, убедитесь, что методы "Open_Link1" и "Open_Link2" должны существовать в коде следующим образом:

-(void)Open_Link1
{
     // Write your logic
}

-(void)Open_Link2
{
     // Write your logic
}

Дайте мне знать, если вам нужна дополнительная помощь.

0 голосов
/ 12 июля 2011

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

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:buttonStop];
0 голосов
/ 12 июля 2011

Элемент левой кнопки панели автоматически используется платформой для отображения кнопки «Назад».Вы ничего не можете поместить сюда, по крайней мере, когда ваша панель навигации управляется UINavigationController.Чтобы это работало, вам нужно самостоятельно обработать UINavigationBar.

Редактировать: в вашем leftBarButtonItem попробуйте поместить UISegmentedControl вместо UIToolbar для панели инструментов.

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