Судя по всему, у вас есть много подпредставлений (пользовательских представлений) в ScrollView.
Прежде всего, никогда не пытайтесь определить ориентацию с помощью UIDevice, это не рекомендуется Apple.
Для обработки поворотов вам была предоставлена функция «shouldAutorotateToInterfaceOrientation»
Внутри этого метода вы можете просто запустить цикл для обнаружения подпредставлений, присутствующих в вашем просмотре прокрутки, а затем установить кадр и размер каждого подпредставления.
Это может выглядеть примерно так:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(interfaceOrientation == UIInterfaceOrientationPortrait)
{
for(UIView *asubview in scrollView.subviews)
{
asubview.frame = "NEW FRAME";
}
}
else
{
asubview.frame = "NEW FRAME";
}
}
Надеюсь, это поможет вам ... хотя я знаю, что об этом давно спрашивали :-)
Приветствия