滚动型中最后一个元素的坐标(Coordinates of last element in Scrol

2019-09-27 04:34发布

我有内的量,高度是可变的许多元素此滚动视图。

我想知道,如果有知道在滚动视图的最后一个元素的美星的一种方式,而无需添加了在滚动视图的所有元素的高度。

我试图lastViewInScrollView.frame.maxY,这是不正确的。

Answer 1:

这完全是数学,因为你说你不想要的最后一个元素之前添加的所有元素,这就是好了,现在用滚动视图的工作进行到底。 按照苹果的文档( https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithScrollViews.html ),以正确地与滚动视图处理必须添加一个UIView(让说MyView的)然后你的组件。

假设你有滚动视图包含10的UIView(视图1,视图2,... view10)不同的高度和你的viewController是象下面这样:

与UIScrollView中的约束处理:

  1. scollview约束:

    一),从而导致上海华:0 //上海华(VC MAINVIEW)

    b)中后,以上海华:0

    c)中顶部上海华:0

    d)底部至上海华:0

  2. 保持一个UIView(说MyView的)滚动视图中,并给consraints:

    一),从而导致scollView:0

    B)后到scollView:0

    c)中顶部scollView:0

    d)底部scollView:0

    E)相等的宽度的MAINVIEW //假设如你不希望否则横向滚动,不给

  3. 现在,在MyView的加厂景,添导致MyView的约束上一个):0

    b)中后,以MyView的:0

    c)中顶部MyView的:0

    d)恒定高度= height1

现在,view1.frame =(0,0,SCW,height1)// SCW是scrollViewWidth,并且你不需要设置这个框架。 我只是写在这里描述你厂景的框架。

  1. 现在,在MyView的添加视图2,加约束上

    一),从而导致MyView的:0

    b)中后,以MyView的:0

    c)中顶部VIEW1:0

    d)恒定高度=身高2

重复同样以高达view9,

  1. 现在,在MyView的增加view10,加约束上

    一),从而导致MyView的:0

    b)中后,以MyView的:0

    c)中顶部view9:0

    d)恒定高度=身高2

    E)底部到MyView的:0

如果你面临的问题如何设置框架,特别是当他们走出控制器视图,然后选择VC后藤其属性和设置大小自由设定和VC的任何高度,使您可以设置所有的帧。 DONT'T忘记设置该VC大小来INFERED。

注意:千万不要静态高度滚动视图,滚动视图本身将通过计算其组件的高度计算其高度,但要记住,你必须给最上面的部分顶层constaraint到它的父和最下部分底部的组件和高度所有组件(这里的UIView)。

试试这个上面的程序是新的我ScrollView的好习惯。

如何设置SCOLLVIEW即动力高度的一些看法正在改变那里HEIGHTS根据THERE目录

让我们在同上面的例子中,有三个视图(aView,bView,CVIEW),并有高度可变的(因为我们不知道在设计过程中他们的身高,但我们知道最小高度让哈,HB,HC respec。),他们是在视图2。

视图2 Contriants已经被我们给定的,现在改由它的高度关系equalto(=)greaterthanequalto(>=)

  1. aView的约束:

    一个)顶部视图2:0

    b)中导致视图2:0

    c)中后向视图2:0

    d)恒定高度:哈,与关系greaterthanequalto(>=)

  2. bView的约束:

    一个)顶部aView:0

    b)中导致视图2:0

    c)中后向视图2:0

    d)恒定高度:HB,与关系greaterthanequalto(>=)

  3. CVIEW的约束:

    一个)顶部bView:0

    b)中导致视图2:0

    c)中后向视图2:0

    d)恒定高度:HC,具有关系greaterthanequalto(>=)

    E)底部视图2:0

注:当你面对的滚动视图,你必须做同样的,如果你的组件是动态的,给予高度(保持minimun高度)的关系greaterthanequalto(>=)如果您的组件有静态的高度给关系equalto(=)



文章来源: Coordinates of last element in ScrollView