【问题标题】:How to access the value of a UIStepper inside a Cocoa Touch Class如何在 Cocoa Touch 类中访问 UIStepper 的值
【发布时间】:2015-06-24 23:00:42
【问题描述】:

我正在尝试使用可可触摸类创建自定义滑块,其最大值由 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)
    }
}

【问题讨论】:

  • 我的意思是,Slider1 不知道 stepperValue 是什么,因为它在您的 ViewController 中声明。你必须在你的 ViewController 中设置它。

标签: ios swift cocoa-touch syntax uistepper


【解决方案1】:

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

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

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

在 stepperValueChanged 动作中,获取步进器的新值并使用它来更改滑块的最大值。仅此而已。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多