установка сегмента по умолчанию в UISegmentedControl

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

РЕДАКТИРОВАТЬ: Я понял, что если я напишу:

 [ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];

внутри метода Viewdidload OptionsViewController, все будет работать нормально. Почему я не могу сделать это из метода подготовки к переходу?

5
задан Mppl 14 January 2012 в 12:02
поделиться