将滑块分配给水平分页(如Instagram) - UISlider到UIScrollView

时间:2015-11-17 17:49:40

标签: ios swift uiscrollview uislider

我有一个水平分页,我试图实现一个UISlider连接到页面位置,就像Instagram在其活动屏幕上一样。这是我迄今为止所取得的成就。

我在顶部添加了Navigation Bar UIView,其中包含按钮,UISliderUIScrollView,其中UITableView位于子视图中UIScrollView。 (首先,这是一个好方法吗?)

首先,这是我为那些试图达到同样目标的人的代码:

class ViewController: UIViewController {

@IBOutlet weak var slider: UISlider!
@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    let V1 : TableView0 = TableView0(nibName: "TableView0", bundle: nil)

    self.addChildViewController(V1)
    self.scrollView.addSubview(V1.view)
    V1.didMoveToParentViewController(self)

    let V2 :TableView1 = TableView1(nibName: "TableView1", bundle: nil)

    self.addChildViewController(V2)
    self.scrollView.addSubview(V2.view)
    V2.didMoveToParentViewController(self)

    var V2Frame : CGRect = V2.view.frame
    V2Frame.origin.x = self.view.frame.width
    V2.view.frame = V2Frame

    self.scrollView.contentSize = CGSizeMake(self.view.frame.width * 2, self.view.frame.height)

}

我想要实现的是,将UISlider连接到页面位置(如屏幕最底部的位置/滚动位置),就像Instagram那样。这是我到目前为止所取得的成就,但我无法弄清楚如何将滑块连接到页面位置:

enter image description here

Instagram有什么:enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定你是否能够通过UISlider实现这一目标。 我认为最简单的解决方案是自定义ScrollView指标,可能Instagram使用了这种方法。您可以参考图书馆:CustomScrollIndicatorJTSScrollIndicator

您还可以根据scrollView contentOffset创建自定义视图(指示符)和位置。要获取contentOffset实现UIScrollViewDelegate方法:

func scrollViewDidScroll(scrollView: UIScrollView) {
      // use scrollView.contentOffset.x
}