【发布时间】:2016-02-03 11:42:05
【问题描述】:
我对以下场景有疑问:
我有一个带有动态单元格的UITableView。其中,我使用自定义UITableViewCell 和UISlider。如何获取滑块的值?
我创建了以下示例:(项目文件可以在这里下载:Link)
SliderClass.swift
import UIKit
class SliderClass: NSObject {
var title: String
var subtitle: String
var sliderMinimum: Float
var sliderMaximum: Float
init(title: String, subtitle: String, sliderMinimum: Float, sliderMaximum: Float) {
self.title = title
self.subtitle = subtitle
self.sliderMinimum = sliderMinimum
self.sliderMaximum = sliderMaximum
}
}
SliderTableViewCell.swift
import UIKit
class SliderTableViewCell: UITableViewCell {
@IBOutlet weak var cellTextLabel: UILabel!
@IBOutlet weak var cellDetailTextLabel: UILabel!
@IBOutlet weak var cellSlider: UISlider!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
TableViewController.swift
import UIKit
class TableViewController: UITableViewController {
var slider: [SliderClass] = []
override func viewDidLoad() {
super.viewDidLoad()
title = "Slider"
let slider1 = SliderClass(title: "Title1", subtitle: "Subtitle1", sliderMinimum: 0, sliderMaximum: 100)
let slider2 = SliderClass(title: "Title2", subtitle: "Subtitle2", sliderMinimum: 0, sliderMaximum: 200)
slider = [slider1, slider2]
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return slider.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("sliderCell", forIndexPath: indexPath) as! SliderTableViewCell
let slider: SliderClass
slider = self.slider[indexPath.row]
cell.cellTextLabel.text = slider.title
cell.cellDetailTextLabel?.text = slider.subtitle
cell.cellSlider.minimumValue = slider.sliderMinimum
cell.cellSlider.maximumValue = slider.sliderMaximum
return cell
}
func sliderValueChange() {
// I need help here:
// Which slider changed to which value?
// var slider = ...
// var sliderValue = ...
// NSLog("Value of slider:%@ changed to:%i", slider, sliderValue)
}
}
【问题讨论】:
标签: swift uitableview uislider