UITableView像滚轮一样无限滚动

时间:2016-09-22 08:17:24

标签: ios swift xcode

我在单个UITableViews中有2个View Controller,表示23个单元格小时表格视图和60个单元格分钟表格视图。我想要实现的是我可以像滚动轮一样滚动两个表视图,就像我们滚动到最后一样,它仍然可以通过滚动底部滚动到第一个表视图,反之亦然。

我发现了类似这样的内容:https://github.com/bharath2020/UITableViewTricks/tree/master/CircleView/BBTableView,但Obj-c中的内容太糟糕了。

我希望能够实现以下目标:

enter image description here

小时和分钟可以无限滚动,例如12 -> 059 -> 0

我如何在swift中做类似的事情?

1 个答案:

答案 0 :(得分:0)

好的,所以刚刚为你测试过。以下是循环UIPickerView的示例。

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

let maxRows = 10
private let maxElements = 10000
@IBOutlet weak var myPickerView: UIPickerView!

override func viewDidLoad() {
    super.viewDidLoad()
    self.myPickerView.dataSource = self;
    self.myPickerView.delegate = self;
    myPickerView.selectRow(maxElements / 2, inComponent: 0, animated: false)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return maxElements
}


func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    let myRow = row % maxRows
    let myString = String(format: "%i", myRow)
    return myString
}

}

现在就创建一个包含两个组件的UIPickerPickerView而言,你可以在google上轻松找到。

我希望它可以帮助您解决问题。