При отстранении модального контроллера представления базовый UIScrollView изменяет размер до полноэкранного - PullRequest
5 голосов
/ 16 февраля 2012

У меня есть макет с пользовательской строкой состояния вверху [под строкой состояния Apple], затем UIScrollview, который разбивается на страницы слева направо в средней части, а затем у меня есть UIView с некоторыми пользовательскими кнопками на низ. Итак, простая трехпанельная компоновка, и она прекрасно работает. Тем не менее, три пользовательских кнопки в нижнем представлении вызывают ModalViewController, и когда это отклонено, оно изменяет размер среднего UIScrollView на полноэкранный режим и переносит его вперед, закрывая два других вида, которые у меня есть. .

Есть несколько других, которые отметили это поведение, но, похоже, что они дают только один ответ - изменить размер UIScrollView до первоначальных координат. Это, конечно, сработает, но мне это кажется хаком, и я не хотел бы знать, что на самом деле происходит за кулисами, и как правильно исправить проблему.

Другие ссылки SO с такой же очевидной проблемой:

Третьи отметили, что поведение влияет только на 3.0 и выше, поэтому я не уверен, является ли это «особенностью», и я просто не понимаю, что поведение должно делать или что. Если кто-то может пролить свет на это, я был бы признателен.

Ответы [ 2 ]

5 голосов
/ 06 апреля 2012

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

-(void)viewWillAppear:(BOOL)animated{
    [self.view setFrame:CGRectMake(0, 0, originalWidth, originalHeight)];
}

, где originalWidth & originalHeight - это исходные размеры моего родительского вида.

все работает нормально, даже если звучиткак и мне взломать.

1 голос
/ 27 февраля 2012

Вы пытались изменить настройку в файлах пера .?

Проверьте автоматический выбор размера прокрутки в пиру.

...