Авторазмер UIViews для просмотра PDF - PullRequest
2 голосов
/ 31 декабря 2010

Я пытаюсь настроить авторазмер для работы с программой просмотра PDF, созданной для iPad.

Моя структура просмотра состоит из:

Scroll view
    Document view
        Page view
        Page view
        Page view

Как показано на этой диаграмме: http://i.stack.imgur.com/unV4J.png

У меня нет проблем с отображением страниц PDF. Скажем для целей этого вопроса, что каждая страница является UIImageView.

Чтобы создать вид, я загружаю все страницы одну за другой и устанавливаю рамки так, чтобы они имели правильный размер и имели интервал между ними 10 пикселей. Затем я установил рамку «Просмотр документа» на общий размер всех страниц. Затем я добавляю вид документа в вид прокрутки. Это отлично работает.

Проблема с авторазмером. Я хочу, чтобы ширина представления документа (и просмотров страниц внутри него) масштабировалась по мере увеличения ширины представления прокрутки. Вид документа и страницы, очевидно, должны поддерживать соотношение сторон, поэтому ширина и высота должны быть гибкими. Однако, если я увеличу высоту страницы, высота рамки страницы станет такой же, как и у вида документа.

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

1 Ответ

0 голосов
/ 01 января 2011

Я решил это программно.

Сначала я попытался использовать метод layoutSubviews UIView, чтобы изменить положение подпредставлений при изменении размера. Однако это происходило только один раз в начале анимации (при использовании MGSplitViewController это может отличаться в других ситуациях), поэтому вместо этого я переопределил метод setFrame, чтобы переместить туда подпредставления. Это прекрасно работает, и теперь мои взгляды плавно переходят туда, где они должны быть.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...