В приложении фотокроллера (приложение iPhone WWDC-104 Photos) изображения uiscrollview сдвигаются вправо при вызове с использованием presentModalviewController - PullRequest
3 голосов
/ 04 октября 2010

Я видел видео WWDC-104, показывающее UIScrollView для фотографий.Я также скачал образец кода.В моем приложении структура выглядит следующим образом:

(Корневой класс) Класс A ---> Класс B -----------> PhotoViewController (Содержит ScrollView)

Я вызываю класс PhotoViewController с помощью метода presentModalViewController в классе B.

Но с каждым пролистыванием новое изображение смещается вправо на представление.Черная вертикальная полоса видна слева от изображения, которая расширяется с каждым пролистыванием.Таким образом, после 6-8 изображений вид становится полностью черным.

Я не написал никакого другого кода.Просто скопировали классы.

Почему это происходит, когда класс PhotoViewController не является первым загружаемым классом?Есть ли какое-либо свойство, которое нужно установить для ScrollView?Есть ли какая-либо ошибка в этом представлении Иерархия?

Также Как начать с определенного изображения (загрузка с 10-го изображения)?

Любая помощь / предложение будут высоко оценены.

РЕДАКТИРОВАТЬ:

alt text

После первого горизонтального пролистывания,

alt text

После второго горизонтального пролистывания,

alt text

Ответы [ 2 ]

4 голосов
/ 14 ноября 2010

Разве ваш PhotoViewController не выдвигается UINavigationController, когда вы используете его в своем приложении?

В этом проблема, NavigationController изменяет фрейм ScrollView, и смещение и расширенная ширина, создаваемая PhotoViewController, не дольшекак только представление появится.

Самый простой способ исправить это - установить представление PhotoViewController в обычный UIView и добавить ScrollView как подпредставление этого UIView.Затем NavigationController изменит рамку этого представления, но не затронет подпредставление.

UIView * intermediateView = [[UIView alloc] initWithFrame:pagingScrollViewFrame];
[intermediateView addSubview:pagingScrollView];
self.view = intermediateView;

Посмотрите на этот вопрос для получения дополнительной информации: Фотографии, как приложение разрыв между страницами в UIScrollView сpagingEnabled

0 голосов
/ 04 октября 2010

звучит так, как будто вы не учитываете разницу между изображениями.Вы также скопировали их файлы ресурсов?Если я правильно помню, их прокрутка немного расширилась «со страницы», чтобы создать поле между изображениями.

...