Проблемы с UIScrollView при смене ориентации, iOS

У меня есть UIScrollView , где я показываю различные настройки для своего приложения.

Я создал UIScrollView из построителя, я добавил его как дополнительное представление в свой вид и из инспектора размеров построителя я поместил его в позицию Y: -10, чтобы показать прямо под моей панелью навигации. В моем коде я только что добавил

self.scrollView.contentSize =CGSizeMake(self.scrollView.frame.size.width,1000);

и все работает как положено.

Моя проблема начинается, когда я пытаюсь повернуть экран. Возникают две основные проблемы.

Первый заключается в том, что начало UIScrollView отличается. Он «стартует» с более низкого места, чем должен, скрывая некоторые опции. (изображение ниже)

Второй заключается в том, что ширина UIScrollView не настраивается автоматически в соответствии с новой ориентацией экрана и остается такой же, как и раньше. (изображение ниже)

Итак, что именно я должен сделать, чтобы получить хороший результат в обеих ориентациях?

Прилагаю изображения с обеими ориентациями. Первый — портрет, который «работает» как положено, второй — пейзаж, где возникают проблемы.

Портретный режим

Ландшафтный режим


person Community    schedule 26.02.2013    source источник
comment
минимальная версия iOS для вашего приложения?   -  person blub    schedule 26.02.2013
comment
минимальная версия iOS 4.3   -  person    schedule 26.02.2013
comment
Основываясь на вашем макете, я бы предпочел использовать UITableView вместо прокрутки, что будет лучше для памяти из-за повторного использования ячеек. UITableView также автоматически решает все проблемы, которые у вас возникают. Просто мысль.   -  person JRG-Developer    schedule 26.02.2013
comment
это действительно сложное меню с кнопками карты и т. д. и т. д. и много работы уже было проделано над ним, чтобы заставить его работать, поэтому я буду придерживаться его. есть идеи что с этим делать?   -  person    schedule 26.02.2013


Ответы (1)


Отрегулируйте scrollView s frame в -viewDidLayoutSubviews (вызывается при вращении устройства) или используйте пружины и стойки

person blub    schedule 26.02.2013
comment
Я действительно хотел помочь. Я предложил два возможных варианта решения вашей проблемы и погуглил, чтобы вы разместили ссылку на еще более полезный учебник внутри, так в чем проблема? Кстати, я бы выбрал Springs & Struts. (на вашем UIScrollView). Просто погуглите, если вам не нравится учебник, который я предложил, и вы думаете, что он будет полезен! - person blub; 26.02.2013
comment
попробуйте что-то подобное, и если вам не нравится поведение, просто измените пружины/стойки tinypic.com/ р/2m4si3c/6 - person blub; 26.02.2013