Прокрутка одного UIScrollView отключает прокрутку другого - PullRequest
0 голосов
/ 05 марта 2020

Во-первых, я просто хотел убедиться, что все работало отлично в течение нескольких недель до вчерашнего дня, и я не делал никакой работы ни с UIScrollViews, ни с чем-либо связанным с ними, насколько мне известно.

У меня есть одна вертикаль UIScrollView с некоторыми UIStackViews, добавленными в UIScrollView, он используется для прокрутки вручную, расположен внизу и добавлен в UIView.

Другой UIScrollView является горизонтальным и автоматически прокручивается по таймеру и расположен к top и добавлен в основной вид.

По состоянию на вчерашний день горизонтальная прокрутка перестает прокручиваться, когда вертикальная прокрутка движется. Как только вертикальная прокрутка прекращается, горизонтальная прокрутка снова начинает прокручиваться.

Класс

lazy var verticalScroll: UIScrollView =
    {
        let verticalStackScroll = UIScrollView()
        verticalStackScroll.translatesAutoresizingMaskIntoConstraints = false
        return verticaStacklScroll
    }()


lazy var autoScrollView: UIScrollView =
    {
        let autoScroll = UIScrollView()
        autoScroll.translatesAutoresizingMaskIntoConstraints = false
        return autoScroll
    }()

Горизонтальная прокрутка

func setupAutoScroll()
{
    view.addSubview(autoScrollView)

    autoScrollView.addSubview(autoStackView)

    NSLayoutConstraint.activate([
        autoScrollView.leadingAnchor.constraint(equalTo: someButton.trailingAnchor, constant: 5),
        autoScrollView.topAnchor.constraint(equalTo: someButton.topAnchor, constant: 1),
        autoScrollView.trailingAnchor.constraint(equalTo: someOtherButton.leadingAnchor, constant: -5),
        autoScrollView.bottomAnchor.constraint(equalTo: someButton.bottomAnchor, constant: -1),
    ])
}

func scheduledTimerWithTimeInterval()
{
    Timer.scheduledTimer(timeInterval: 0.045, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
}

Вертикальная прокрутка

func setupCopyScrollView()
{
    copyView.addSubview(verticalScroll)

    verticalScroll.addSubView(verticalStackView)

    NSLayoutConstraint.activate([
        verticalScroll.leadingAnchor.constraint(equalTo: copyView.leadingAnchor, constant: 10),
        verticalScroll.topAnchor.constraint(equalTo: copyView.safeAreaLayoutGuide.topAnchor, constant: 10),
        verticalScroll.trailingAnchor.constraint(equalTo: copyView.trailingAnchor, constant: -10),
        verticalScroll.bottomAnchor.constraint(equalTo: copyView.bottomAnchor, constant: -10),
    ])
}

viewDidLoad

setupCopyScrollView()

setupAutoScroll()

Я включил часть кода, который может помочь, если есть какой-то другой код, который, по вашему мнению, необходимо опубликовать, дайте мне знать.

Я могу опубликовать весь код, но, вероятно, он содержит около 1000 строк.

Есть идеи, что вызвало это недавнее изменение?

...