Правый элемент кнопки NavBar исчезает после нажатия на контроллер вида - PullRequest
3 голосов
/ 08 декабря 2011

Итак, мы получили Nav Controller с UITableView для RootViewController.Затем, когда пользователь щелкает ячейку таблицы, мы помещаем EKEventController в стек Nav и отображаем сведения о событии, представленном ячейкой таблицы.

Я пытаюсь добавить кнопку справа, но это не такне показывайся

Я добавляю кнопку, когда пользователь щелкает ячейку таблицы.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{  

    // Upon selecting an event, create an EKEventViewController to display the event.
    self.detailViewController = [[[EKEventViewController alloc] initWithNibName:nil bundle:nil]autorelease];            
    detailViewController.event = [self.eventsList objectAtIndex:indexPath.row];

    detailViewController.allowsEditing = NO;  
    UIBarButtonItem *locationMapViewButtonItem = [[UIBarButtonItem alloc] 
                                                  initWithTitle:@"Map"
                                                          style:UIBarButtonItemStylePlain 
                                                         target:self 
                                                         action:@selector(showMap:)];  
    self.navigationItem.rightBarButtonItem = locationMapViewButtonItem;  
    [locationMapViewButtonItem release];  
    UITableView *eventTableView = [[self.detailViewController.view subviews]objectAtIndex:0];  
    [self.navigationController pushViewController:detailViewController animated:YES];  
}

Кнопка правой панели исчезает, когда появляется контроллер EKEvent.

1 Ответ

3 голосов
/ 08 декабря 2011

Вам нужно установить элемент навигации на контроллере вида, который вы нажимаете, поэтому ваша строка:

self.navigationItem.rightBarButtonItem = locationMapViewButtonItem;

Должно стать:

detailViewController.navigationItem.rightBarButtonItem = locationMapViewButtonItem;
...