Как обрезать UIImage при прокрутке в UIScrollView

#swift #xcode

#swift #xcode

Вопрос:

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

Пример: шаг 1

Изображение 1

Пример: шаг 2

Изображение 2

Вот код прямоугольника:

 let timelineBar = UIView()
    timelineBar.backgroundColor = UIColor.init(displayP3Red: 119/255, green: 140/255, blue: 163/255, alpha: 1)
    view.addSubview(timelineBar)timelineBar.translatesAutoresizingMaskIntoConstraints = false
timelineBar.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 40).isActive = true
timelineBar.heightAnchor.constraint(equalTo: contentView.heightAnchor).isActive = true
timelineBar.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 100).isActive = true
timelineBar.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -250).isActive = true
timelineBar.widthAnchor.constraint(equalTo: contentView.widthAnchor, constant: -250).isActive = true
  

Я попытался реализовать примеры масштабирования изображений, которые я нашел в Интернете, но я не смог заставить их работать.

Я использую XCode 11.7.

Ответ №1:

Я глуп. Произошла ошибка неправильного назначения изображения для просмотра, а не для просмотра с возможностью прокрутки. Эта строка: view.addSubview(timelineBar) Пришлось изменить на это: contentView.addSubview (timelineBar)

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