Я решил эту ситуацию следующим образом.Я добавил сегментированный элемент управления на панель инструментов в раскадровке.Это нужно сделать сначала, добавив кнопку бара, а затем добавив к ней сегментированный элемент управления.У моего элемента управления сегментами есть 3 сегмента, каждый из которых ведет вас в другое представление.Текущее представление представляет собой одно из тех, которые оставляют требование для двух переходов к двум другим представлениям.Затем я создал две кнопки из вида справа на панели инструментов.Я управляю щелчком этих двух контроллеров назначения, чтобы создать два требуемых сегмента.Я также прикрепил отправленное действие «значение изменено» к IBAction в приведенном ниже коде.Остальное реализовано в коде следующим образом:
- (IBAction)segmentChanged:(id)sender {
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
[self performSegueWithIdentifier: @"goToSettings" sender: self];
break;
case 1:
// aready here - do nothing
break;
case 2:
[self performSegueWithIdentifier: @"returnToNotes"
sender: self];
break;
default:
break;
}
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"goToSettings"]) {
[[segue destinationViewController] setManagedObjectContext:self.managedObjectContext];
// do nothing special
}
if ([[segue identifier] isEqualToString:@"returnToNotes"]) {
// do nothing special
}
}
Также необходимо сохранить выбранный индекс сегмента, чтобы показать, какой конус представления находится в данный момент. Это делается с помощью следующего оператора в методе viewWillAppear:1004 *
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.segmentedControl.selectedSegmentIndex = 1; // the index for the current view
}
Аналогичный код реализован в каждом из трех контроллеров представления, выбранных сегментированным элементом управления.Это решение не сильно отличается от того, как все это делается в коде, но имеет то преимущество, что раскадровка отражает представления и переходы (сегменты) представления.