如何将值传递给CGFloat

时间:2016-06-16 16:22:21

标签: ios xcode swift

我有一个以下代码,它是Cocoa Touch类,它绘制了一个简单的饼图,值为CGFloat我可以调整图像以显示正确的信息。

如何将一个值例如从主视图controler.swift中的滑块传递给它,而不是将其修复?

public class PieChart : NSObject {



public class func drawCanvas1(ratio ratio: CGFloat = 0.75) {

    //// Variable Declarations
    let expression: CGFloat = 90 + ratio * 360


    let ovalPath = UIBezierPath(ovalInRect: CGRect(x: 0, y: -0, width: 112, height: 112))
    UIColor.blackColor().setFill()
    ovalPath.fill()



    let oval2Rect = CGRect(x: 4, y: 4, width: 104, height: 104)
    let oval2Path = UIBezierPath()
    oval2Path.addArcWithCenter(CGPoint(x: oval2Rect.midX, y: oval2Rect.midY), radius: oval2Rect.width / 2, startAngle: -expression * CGFloat(M_PI)/180, endAngle: -90 * CGFloat(M_PI)/180, clockwise: true)
    oval2Path.addLineToPoint(CGPoint(x: oval2Rect.midX, y: oval2Rect.midY))
    oval2Path.closePath()

    UIColor.redColor().setFill()
    oval2Path.fill()
}

}

1 个答案:

答案 0 :(得分:0)

UISliderUIControlEventValueChanged函数联系起来,类似于UIButton的功能。当滑块上的值发生变化时会调用此方法,您可以在此时获取滑块的value属性并将其传递给drawCanvas1。只要传入一个值,默认的0.75就会被忽略。