В настоящее время я программно добавляю UISegmentedControl
к панели инструментов в контроллере навигации (как показано ниже).
Этот подход работает нормально, у меня есть UISegmentedControl
, он запускает селектор, который у меня естьНастройка без проблем.
Проблема в том, что я хотел бы использовать selectedIndex
этого элемента управления для запроса моей модели данных и представления другого представления данных для каждого «сегмента» - но у меня возникли проблемыполучение selectedIndex
.
В своих путешествиях я консультировался с примером кода «Лучшие песни», предоставленным Apple.В этом коде они строят свой интерфейс через объект UISegmentedControl
в контроллере представления и IB.При этом они могут получить доступ к UISegmentedControl
selectedIndex
.Я добавляю свою программу программно и у меня нет этой свободы.
'ДОЛЖЕН' У меня есть UISegmentedControl
, определенный в моем контроллере представления?Если это так, если я хочу продолжить программирование своего меню программно, как мне получить доступ к информации из элемента управления, скрытого в навигационном контроллере UIToolBar
?
Я явно упускаю что-то базовое.Любая помощь всегда ценится:)
[self.navigationController setToolbarHidden:NO];
// Set up the edit and add buttons.
self.navigationItem.leftBarButtonItem = self.editButtonItem;
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];
NSArray *tabitems = [NSArray arrayWithObjects:@"ONE", @"TWO", @"THREE", @"FOUR", nil];
UISegmentedControl *tabs = [[UISegmentedControl alloc] initWithItems:tabitems];
[tabs addTarget:self
action:@selector(pickedSegment:)
forControlEvents:UIControlEventValueChanged];
tabs.segmentedControlStyle = UISegmentedControlStyleBar;
tabs.frame = CGRectMake(60, 8, 180, 30);
tabs.selectedSegmentIndex = 0;
//[self.navigationController.navigationBar addSubview:tabs];
[self.navigationController.toolbar addSubview:tabs];
[tabs release];