0

我正在尝试使用可可触摸类创建一个自定义滑块,其最大值由 UIStepper 确定。我将 UIStepper 连接到我的视图控制器,我想在可可触摸类中引用它的值作为滑块的最大值。在类中引用步进器值的语法是什么?

我不断收到错误use of unresolved identifier

这是我的视图控制器:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var stepperValue: UIStepper!

    @IBOutlet weak var label: UILabel!

    let slider1 = Slider1(frame: CGRectZero)


    override func viewDidLoad() {
        super.viewDidLoad()

        label.textColor = UIColor.darkTextColor()
        slider1.backgroundColor = UIColor.lightGrayColor()
        view.addSubview(slider1)

    }

    override func viewDidLayoutSubviews() {
        let margin: CGFloat = 20.0
        let width = view.bounds.width - 2 * margin
        slider1.frame = CGRect(x: margin, y: 3 * margin, width: width, height: 1.5 * margin)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

这是我的UIControl子类:

class Slider1: UIControl {

    var minimumValue = 0.0
    var maximumValue = stepperValue.value
    var value = 0

    let trackLayer = CALayer()
    var trackHeight:CGFloat = 2.0
    var trackColor = UIColor.blackColor().CGColor

    var tickHeight:CGFloat = 8.0
    var tickWidth: CGFloat = 2.0
    var tickColor = UIColor.blackColor().CGColor

    let thumbLayer = CALayer()
    var thumbColor = UIColor.blackColor().CGColor
    var thumbMargin:CGFloat = 2.0

    var thumbWidth: CGFloat {
        return CGFloat(bounds.height)
    }
}
4

1 回答 1

0

如果您想要滑块,请使用滑块。如果您想从 UIControl 开始创建自己的类似滑块的控件,您将有很多工作要做。

只需让您的视图控制器驱动一切。

让步进器上的值更改事件触发视图控制器中的操作。

在该 stepperValueChanged 操作中,获取步进器的新值并使用它来更改滑块的最大值。这里的所有都是它的。

于 2015-06-25T00:37:06.057 回答