Assigning Slider to Horizontal Paging (like Instagram) - UISlider to UIScrollView
Assigning Slider to Horizontal Paging (like Instagram) - UISlider to UIScrollView
我有一个水平分页,我正在尝试实现一个 UISlider 连接到页面位置,就像 Instagram 在其 Activity 屏幕上所具有的那样。这是我到目前为止所取得的成就。
我在顶部添加了一个 Navigation Bar
,在里面添加了 UIView
,里面有按钮,UISlider
,还有一个 UIScrollView
,里面有 2 个 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 那样。这是我到目前为止所取得的成就,但我无法弄清楚如何将滑块连接到页面位置:
Instagram 的内容:
我不确定您是否能够使用 UISlider 实现这一目标。
我认为最简单的解决方案是自定义 ScrollView 指示器,Instagram 可能使用了这种方法。您可以参考图书馆:CustomScrollIndicator, JTSScrollIndicator.
您也可以根据scrollView contentOffset创建自定义view(indicator)和position。要获取 contentOffset,请执行 UIScrollViewDelegate
方法:
func scrollViewDidScroll(scrollView: UIScrollView) {
// use scrollView.contentOffset.x
}
我有一个水平分页,我正在尝试实现一个 UISlider 连接到页面位置,就像 Instagram 在其 Activity 屏幕上所具有的那样。这是我到目前为止所取得的成就。
我在顶部添加了一个 Navigation Bar
,在里面添加了 UIView
,里面有按钮,UISlider
,还有一个 UIScrollView
,里面有 2 个 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 那样。这是我到目前为止所取得的成就,但我无法弄清楚如何将滑块连接到页面位置:
Instagram 的内容:
我不确定您是否能够使用 UISlider 实现这一目标。 我认为最简单的解决方案是自定义 ScrollView 指示器,Instagram 可能使用了这种方法。您可以参考图书馆:CustomScrollIndicator, JTSScrollIndicator.
您也可以根据scrollView contentOffset创建自定义view(indicator)和position。要获取 contentOffset,请执行 UIScrollViewDelegate
方法:
func scrollViewDidScroll(scrollView: UIScrollView) {
// use scrollView.contentOffset.x
}