gpt4 book ai didi

swift - 在 iOS 8 中动态更改 ScrollViews subview

转载 作者:行者123 更新时间:2023-11-28 05:31:23 26 4
gpt4 key购买 nike

我在主页面中使用 ScrollView 来垂直 ScrollView 中的内容(Ipad 分辨率):

enter image description here

为此,我在顶部设置了一个View,在下方设置了另一个View

但我想在这里做的是改变下面的 View 以显示另一个 View 如果某些条件为真,则更大,(例如在 viewDidLoad ()) 和 ScrollView 垂直滚动关于另一个 View 的大小,但另一个 View 的大小是实际的两倍,类似下图:

enter image description here

当然,上图只是我一般喜欢看到的样子,在这种情况下,我希望将 ScrollView 的 contentSize 增加到更高(在运行时)。

我的问题是,当我没有设置相应的约束时,我可以根据需要更改 contentSize,但是当我旋转设备时,我的 subview 仍然保持 768 的宽度,但是如果我在旋转设备时设置了自动布局约束,一切正常,但我无法更新 ScrollView 的 contentSize,因为它根据他的 subview 计算他的指标。

我怎样才能完成这个行为?

还有比 ScrollView 更好的 UI 吗?

最佳答案

这里是如何设置它,以便您可以垂直滚动,并以编程方式更新 grayView 的高度。

  1. 将scrollView的上、左、右、下约束到顶层 View 的上、左、右、下。

  2. 将orangeView的左、上、右约束到scrollView的左、上、右。将 orangeView 的宽度限制为等于 scrollView 的宽度。为 orangeView 的高度设置一个约束(比如 200)。

  3. 将grayView的左下右约束到scrollView的左下右。将 grayView 的宽度限制为等于 scrollView 的宽度。为 grayView 的高度设置一个约束(比如 800)。为您的代码创建此约束的 IBOutlet,以便您可以通过更改其 constant 属性来更新其高度。为此,请在Document Outline View 中找到约束,然后按住 control 键将其拖到您的代码中以创建 IBOutlet。给它起一个像 grayViewHeight 这样的名字。当你想设置它时,执行 grayViewHeight.constant = 1000

  4. 在 orangeView 和 grayView 之间添加垂直空间约束。

现在,您的 scrollView 的内容大小已完全指定,您可以在需要时扩大它。 orangeView 和 grayView 会自动水平拉伸(stretch)以在所有方向上匹配 scrollView 的宽度。

关于swift - 在 iOS 8 中动态更改 ScrollViews subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com