gpt4 book ai didi

ios - Swift - 不能使 scrollview 能够向左滚动吗?

转载 作者:行者123 更新时间:2023-11-28 08:33:12 24 4
gpt4 key购买 nike

我在使用 ScrollView 时遇到了一个奇怪的问题 - 我已经尝试在 xib 文件中以编程方式执行此操作。基本上,我希望能够滚动到 3 个文本字段,而我的 ScrollView 会填满整个屏幕。

为此,我首先在我的 xib 上创建了一个 ScrollView 并对其进行了约束,使其始终充满屏幕。然后我将 contentsize 扩展到 View 大小的 3 倍,因此它应该能够滚动

scrollView.delegate = self
scrollView.frame = CGRectMake(0, 0, screenSize.width, screenSize.height)
scrollView.backgroundColor = UIColor.redColor()

self.scrollView.contentSize = CGSizeMake(self.view.frame.width*3, screenSize.height * (50/568))
scrollView.center = CGPointMake(self.view.frame.width * -1.5, self.view.frame.height * 0.5)
scrollView.addSubview(containerView)
view.addSubview(scrollView)
self.scrollView.delaysContentTouches = false

我有 3 个名为搜索 1、2、3 的文本字段,然后我将它们定位在这个 ScrollView 中,这样它们在屏幕左侧的不同长度 -

search3.center = CGPointMake(screenSize.width * 0.5, screenSize.height * 0.45)
search2.center = CGPointMake(screenSize.width * -0.5, screenSize.height * 0.45)
search1.center = CGPointMake(screenSize.width * -1.5, screenSize.height * 0.45)

这行得通,这意味着我有第一个搜索字段 2 个 View 在左边,另一个在它旁边,等等

问题是我只能向右滚动,因为我似乎无法将 ScrollView 的中心从左侧移开,因此它的长度向右扩展了 3 个 View 。我试过这个 -

scrollView.center = CGPointMake(self.view.frame.width * -1.5, self.view.frame.height * 0.5)

以及其他各种以编程方式创建 View 的方法,但它仍然有效。这就是我需要滚动到最右边的所有东西所得到的 -

enter image description here

我从来没有过这个。如何让它向左扩展 View 宽度?

最佳答案

您是否尝试过设置 scrollView 的 contentOffset?根据文档,contentOffset 代表:

The point at which the origin of the content view is offset from the origin of the scroll view.

如果您希望 ScrollView 从中间开始(可以向左和向右滚动),假设 contentView 的大小是 ScrollView 的 3 倍,这可能对您有用

self.scrollView.contentOffset = CGPointMake(self.scrollView.contentSize.width/3 , 0.0f);

关于ios - Swift - 不能使 scrollview 能够向左滚动吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38423084/

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