У меня есть приложение, которое имеет два viewcontroller Viewcontroller и OptionsViewController. Viewcontroller является начальным viewcontroller, тогда, если я нажму кнопку, у меня будет модальный переход к optionsviewconcontroller. Там в optionsviewcontroller у меня есть UISegmented viewcontroller, созданный из раскадровки, которая связана с выходом (UnitsSegmentedControl), и я хочу быть в состоянии сказать сегментированному элементу управления, какой сегмент должен быть выбран по умолчанию, когда загружается OptionsViewController.
В моем Viewcontroller я написал метод:
-(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 все работает отлично. Почему я не могу сделать это с помощью метода подготовки к передаче?