Почему слайды [i] .frame печатают другое значение, чем SlideScrollView.subviews [i] .frame - PullRequest
0 голосов
/ 27 мая 2019

Я пытался вычислить текущий видимый «Слайд» в моем UIScrollView, когда я заметил это. Я не мог понять, почему я получаю эти значения. Особенно кадры 2 и 3 показывают странные значения.

Может кто-нибудь сказать мне, если и где я не прав, и как мне получить нижние значения, совпадающие с верхними?

Вот мой код:

{...}
for i in 0 ..< slides.count
        {
            slides[i].frame = CGRect(x:CONSTwid * CGFloat(i),y:0,width:CONSTwid+20,height : view.frame.height)
            print("slide \(i) frame : \(slides[i].frame)")
            SlideScrollView.addSubview(slides[i])
        }
        let container = CGRect(x: SlideScrollView.contentOffset.x, y: SlideScrollView.contentOffset.y, width: SlideScrollView.frame.size.width, height: SlideScrollView.frame.size.height)

//this was just to see the result (do not ask me to loop it...I know :-P)

        print("sr \(container)")
        print("srcz\(SlideScrollView.contentSize)")
        print("slide 0 frame \(SlideScrollView.subviews[0].frame)")
        print("slide 1 frame \(SlideScrollView.subviews[1].frame)")
        print("slide 2 frame \(SlideScrollView.subviews[2].frame)")

{...}

вот вывод:

Выход на консоль: enter image description here

Заранее спасибо

1 Ответ

0 голосов
/ 27 мая 2019

Поскольку slides - это массив представлений, которые вы не хотите проверять, то это массив, который вам нужно использовать.Хотя subviews является открытым свойством, оно все равно может содержать представления, в которые вы не должны заглядывать.В принципе, любое представление может иметь любое количество подпредставлений по любой причине.Это может даже отличаться в зависимости от устройства или версии ОС.

В вашем случае у вас, кажется, есть дополнительное представление размера 2.5 x 7, которое выглядит как очень маленькое представление.Возможно, индикатор прокрутки?

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