iOS 10 Проблема: UIScrollView не прокручивается, даже если установлен ContentSize

ОБНОВИТЬ: Это проблема iOS 10. Это все еще работает, как и раньше в iOS 9.

Это интересно.

Я только что преобразовал свой «обучающий проект» («игрушечное» приложение) в Swift 3.

Он работал в течение нескольких лет под Swift 1.2.

Внезапно мой UIScrollView не прокручивается, даже если я установил contentSize далеко за его нижнюю границу.

Вот соответствующий код (процедура displayTags вызывается с массивом изображений, которые отображаются по центру и слегка смещены по вертикали, что приводит к вертикальной цепочке):

    /*******************************************************************************************/
    /**
        \brief  Displays the tags in the scroll view.

        \param inTagImageArray the array of tag images to be displayed.
    */
    func displayTags ( inTagImageArray:[UIImage] )
    {
        self.tagDisplayView!.bounds = self.tagDisplayScroller!.bounds
        if ( inTagImageArray.count > 0 )    // We need to have images to display
        {
            var offset:CGFloat = 0.0    // This will be the vertical offset for each tag.

            for tag in inTagImageArray
            {
                self.displayTag ( inTag: tag, inOffset: &offset )
            }
        }
    }
    /*******************************************************************************************/
    /**
        \brief  Displays a single tag in the scroll view.

        \param inTag a UIImage of the tag to be displayed.
        \param inOffset the vertical offset (from the top of the display view) of the tag to be drawn.
    */
    func displayTag ( inTag:UIImage, inOffset:inout CGFloat )
    {
        let imageView:UIImageView = UIImageView ( image:inTag )
        var containerRect:CGRect = self.tagDisplayView!.frame   // See what we have to work with.
        containerRect.origin = CGPoint.zero
        let targetRect:CGRect = CGRect ( x: (containerRect.size.width - inTag.size.width) / 2.0, y: inOffset, width: inTag.size.width, height: inTag.size.height )
        imageView.frame = targetRect
        containerRect.size.height = max ( (targetRect.origin.y + targetRect.size.height), (containerRect.origin.y + containerRect.size.height) )
        self.tagDisplayView!.frame = containerRect
        self.tagDisplayView!.addSubview ( imageView )
        self.tagDisplayScroller!.contentSize = containerRect.size
        print ( "Tag Container Rect: \(containerRect)" )
        print ( "    Tag ScrollView Bounds: \(self.tagDisplayScroller!.bounds)" )
        inOffset = inOffset + (inTag.size.height * 0.31)
    }

Обратите внимание, что contentSize scrollView расширяется каждый раз, когда добавляется тег. Я проверил (см. Операторы печати), и значение кажется правильным.

Сам проект полностью с открытым исходным кодом.

Вот где эта проблема проявляется (У меня есть другие ошибки, но я исправлю их после того, как исправлю это).

Я уверен, что делаю что-то очевидное и безумное (обычно так).

У кого-нибудь есть идеи?

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

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