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

时间:2016-07-17 15:51:19

标签: ios swift uiscrollview

我对scrollview有一个奇怪的问题 - 我尝试在xib文件中以编程方式执行此操作。基本上我有3个文本字段,我希望能够滚动到我的滚动视图填充整个屏幕。

为此,我首先在我的xib上创建了一个scrollview并对其进行约束,使其始终填满屏幕。然后我将内容大小扩展到视图大小的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个名为search 1,2,3的文本字段,然后我在这个滚动视图中这样定位,所以它们在屏幕上的长度不同于左边 -

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个视图,另一个右侧旁边等等

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

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

以编程方式创建视图的各种其他方法,但它不起作用。这就是我需要滚动到右边所需的所有东西 -

enter image description here

我从来没有过这个。如何将视图宽度向左扩展?

1 个答案:

答案 0 :(得分:0)

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

  

内容视图的原点偏离滚动视图的原点的位置。

如果你想让你的滚动视图从中间开始(可以向左和向右滚动),这可能对你有用,假设contentView是scrollView大小的3倍

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