сегментированный контроль в панели навигации - PullRequest
0 голосов
/ 19 февраля 2011

Я пытаюсь поместить это в панель навигации, но не появляется, можете ли вы взглянуть на это?

UISegmentedControl *seg1 = [[UISegmentedControl alloc]
initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:seg1];
UIBarButtonItem *flexItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:self action:nil];
[self.navigationController.navigationBar setItems:[NSArray
arrayWithObjects:flexItem, barItem, flexItem, nil]];
[flexItem release];
[barItem release];
[seg1 release];

1 Ответ

6 голосов
/ 19 февраля 2011
Свойство

UINavigationBar items принимает только массив UINavigationItem объектов, но не UIBarButtonItem объектов. Вы не можете настроить панель навигации так же, как вы делаете UIToolbar. Вместо этого в вашем контроллере представления сделайте это:

UISegmentedControl * seg1 = [[UISegmentedControl alloc]
    initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
self.navigationItem.titleView = seg1;

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

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