Как я могу использовать UISegmentedControl для смены представлений, И по-прежнему иметь возможность вращать ориентацию?

Я просмотрел несколько сообщений по этой теме, но не смог исправить возникшие у меня проблемы. Я представляю модальное представление, которое является UIViewController. Я настроил это представление, чтобы в правом верхнем углу был UISegmentedControl, который в идеале позволит мне переключать представление (внутри этого модального представления).

Чтобы не закрывать мою панель инструментов вверху, я сделал простой UIView в IB и разместил размеры так, чтобы они не перекрывали панель инструментов. Теперь я думаю, что если я добавлю представление, которое хочу добавить в UIView, когда выбран UISegmentedControl, жизнь будет прекрасной:

-(IBAction) indexDidChangeForSegmentedControl:(UISegmentedControl*)seg{

int selectedNum = seg.selectedSegmentIndex;

if([[self.view1 subviews] objectAtIndex:0] != nil){
    [[[self.view1 subviews] objectAtIndex:0] removeFromSuperview];
}

if(selectedNum == 0){
    [self.view1 addSubview:[(DialogInfo*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 1){
    [self.view1 addSubview:[(DialogMetadata*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 2){
    [self.view1 addSubview:[(DialogVersions*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 3){
    [self.view1 addSubview:[(DialogAssoc*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}

}

И это работает! Но проблема в том, что когда я вращаю устройство, вид, который мне действительно важен, внутренний, не вращается.

Я попытался не использовать этот внешний родительский подход UIView и просто попытался установить представление контроллера представления с определенным фреймом, но ориентация все еще испорчена.

Я также пробовал сделать это с помощью UINavigationController и просто не анимировать переход, но я не могу заставить это работать правильно.

Итак, мой вопрос: что мне делать ?! Все, что я хочу, - это иметь возможность переключаться между представлениями с помощью UISegmentedControl и иметь возможность вращать устройство в любую нужную мне ориентацию. Я так много думал об этом и пробовал столько разных вещей, что мне кажется, что я больше не понимаю, что происходит.

Спасибо за помощь


person InternWes    schedule 30.06.2011    source источник


Ответы (1)


Что ж, после того, как я еще немного пощупал, выяснилось, что моя маска изменения размера не была установлена ​​должным образом в IB. DOH!

person InternWes    schedule 01.07.2011