Границы автоматически изменяются в UIScrollView со вставками содержимого

Я использую UIScrollView в качестве моего просмотра прокрутки страниц,pagesScrollView, Внутри этого я поместил отдельные UIScrollViews, которые используются исключительно для масштабирования. Внутри каждого из них у меня есть один вид, который представляет собой элемент страницы, который должен быть масштабируемым. Все это находится внутри UINavigationController с полупрозрачной панелью навигации.

мойpagesScrollView имеетcontentInset.top = 64 а такжеbounds.origin.y = -64 (это кажется мне странным, но это то, что система настраивает автоматически для меня), и это работает просто отлично. Мой экран выглядит великолепно!

Тем не менее, после того, как я прокручиваюpagesScrollView даже чуть-чуть, как толькоscrollViewWillEndDragging называется,pagesScrollView начинается анимационное изменение отbounds.origin.y = -64 вbounds.origin.y = 0 что заставляет элементы моей страницы быть скрытыми навигационной панелью.

Слева это то, как оно выглядит при загрузке, справа это то, как оно выглядит после того, как я перетащил всего несколько пикселей и затем отпустил, он скользит вверх под панелью навигации (потому что bounds.origin.y переходит на 0) ,

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

Итак, я не знаю, какой код я могу показать вам, чтобы помочь вам помочь мне.

РЕДАКТИРОВАТЬ: Я создал новый проект с нуля, чтобы удалить все другие переменные .. Я поместил пустой UIViewController в UINavigationController. Я поместил UIScrollView в мой просмотр на весь размер представления. Следующий код - это весь проект.

Оказывается, проблема (описанная ниже) появляется только после того, как на UIScrollView включена PAGING! WTF? :)

Вот ссылка на скачивание базового проекта с несколькими строками кода, который демонстрирует проблему. Просто нажмите на вид прокрутки, и вы увидите, что он смещается вверх по мере изменения границ.http://inadaydevelopment.com/stackoverflow/WeirdScrollViews.zip

Как я могу включить пейджинг в моем просмотре прокрутки, чтобы при прокрутке и смещении не было границ во время прокрутки?

Возможно установить панель навигации непрозрачной, и проблема устранена, но в идеале рекомендуется иметь стандартное поведение iOS7, чтобы после масштабирования представления контента ТОГДА контент мог находиться под панелью навигации и должен нормально показываться через полупрозрачность.

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    NSArray *colors = @[
                        [UIColor blueColor],
                        [UIColor orangeColor],
                        [UIColor magentaColor],
                        ];

    NSArray *zoomerColors = @[
                        [UIColor greenColor],
                        [UIColor yellowColor],
                        [UIColor purpleColor],
                        ];


    self.scroller.pagingEnabled = YES;

    [self.scroller setContentSize:CGSizeMake(self.scroller.frame.size.width*colors.count, self.scroller.frame.size.height)];

    CGRect subviewFrame = CGRectMake(0, 0, 160, 240);
    for (int index=0; index < colors.count; index++) {
        UIColor *color = [colors objectAtIndex:index];
        UIColor *zoomerColor = [zoomerColors objectAtIndex:index];

        UIView *subview = [[UIView alloc] initWithFrame:subviewFrame];
        subview.backgroundColor = color;

        CGRect zoomerFrame = CGRectMake(index*self.scroller.frame.size.width, 0, self.scroller.frame.size.width, self.scroller.frame.size.height);

        UIScrollView *zoomer = [[UIScrollView alloc] initWithFrame:zoomerFrame];
        [zoomer addSubview:subview];
        zoomer.backgroundColor = zoomerColor;

        [self.scroller addSubview:zoomer];

    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос