У меня есть приложение с двумя диспетчерами Viewcontroller и OptionsViewController. Viewcontroller - это начальный диспетчер представлений, а затем, если я нажму кнопку, у меня есть модальный переход к контроллеру optionsview. Там в optionsviewcontroller у меня есть UISegmented viewcontroller, созданный из раскадровки, которая связана с выходом (UnitsSegmentedControl), и я хочу иметь возможность сообщить сегментированному элементу управления, какой сегмент должен быть выбран по умолчанию при загрузке OptionsViewController. В моей ViewController я написал метод:настройка сегмента по умолчанию в UISegmentedControl
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
OptionsViewController *ovc=[segue destinationViewController];
ovc.delegate=self;
[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];
Дело в том, когда OptionsViewController загружает вид выбранный индекс равен 0, как по умолчанию. Я не получаю сообщение об ошибке или что-то в этом роде. Я использую Xcode 4.2. Я думаю, что это может быть какой-то вариант, который я могу изменить в раскадровке, чтобы UISegmentedControl смог установить выбранный по умолчанию индекс. Я не знаю, что еще может быть причиной этого. Спасибо
EDIT: Я понял, что если я пишу:
[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];
внутри OptionsViewController метод viewdidload все работает отлично. Почему я не могу это сделать из метода подготовки к методу segue?
Я нашел способ обойти эту проблему создав одно свойство в OptionsViewController, называемом индексом, и установив его на номер сегмента, который я хотел выбрать непосредственно из метода prepareforsegue, а затем присвоил его сегменту viewcontrol в представлении. спасибо за помощь – Mppl