为什么slides [i] .frame与SlideScrollView.subviews [i] .frame

时间:2019-05-27 12:22:04

标签: ios swift uiscrollview

当我注意到这一点时,我正在尝试计算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 :(得分:0)

由于slides是您不希望检查的视图数组,因此它是您需要使用的数组。尽管subviews是打开的属性,它仍然可以保留您不应该查看的视图。基本上,任何视图由于任何原因都可以具有任意数量的子视图。甚至在设备或操作系统版本之间也可能有所不同。

就您而言,您似乎拥有一个2.5 x 7大小的额外视图,看起来非常小。也许是滚动指示器?