Сегментированный элемент управления на панели навигации - PullRequest
4 голосов
/ 12 мая 2011

Я добавляю сегментированный элемент управления в свой контроллер представления. Мой viewdidLoad выглядит следующим образом

 self.navController = [[[UINavigationController alloc] init] autorelease];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Image", @""),
                                                                                   NSLocalizedString(@"Text", @""), nil]];
[segmentedControl setSelectedSegmentIndex:0];
[segmentedControl setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];
segmentedControl.frame = CGRectMake(0, 0, 400, 30);
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
    self.navigationItem.titleView = segmentedControl;
[segmentedControl release]; 

[self.view addSubview:self.navController.view];

[super viewDidLoad];

Только навигационная панель продолжает появляться без какого-либо сегментированного управления внутри нее. Может кто-нибудь помочь и сообщить мне, что именно здесь не так.

1 Ответ

3 голосов
/ 12 мая 2011

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

self.navController = [[[UINavigationController alloc] initWithRootViewController:self] autorelease];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...