Увеличение и панорамирование вида с несколькими подпредставлениями с сохранением соотношения сторон - PullRequest
0 голосов
/ 18 марта 2020

У меня есть UIScrollView, чье представление контента должно быть масштабируемым и прокручиваемым. Представление содержимого содержит несколько подпредставлений, которые также содержат кнопки. Когда представление содержимого инициализируется, оно устанавливает свой кадр в аспектном соотношении.

  func setupContentView() {
        Bundle.main.loadNibNamed("viewXib", owner: self, options: nil)
        addSubview(contentView)
        let aspectRatio: CGFloat = 300.0 / 700.0
        let width = aspectRatio * self.bounds.width
        let margin = (self.bounds.width - width) / 2
        contentView.frame = CGRect(x: margin, y: 0, width: width, height: self.bounds.height)
        contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

    }

Вызывается, когда представление содержимого инициализируется. В контроллере вида я установил делегат scrollView для масштабирования.

  func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return boardView
    }

Теперь представление делает масштабирование НО очень странным способом и не поддерживает соотношение сторон, также, когда я пытаюсь прокрутить до верха, он все еще увеличивает вместо того, чтобы просто прокрутить уже увеличенное изображение. По сути, мне нужно представление, которое находится внутри представления содержимого scrollviews, чтобы всегда поддерживать соотношение сторон, даже при увеличении. Есть идеи, указатели?

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