我有一个以下代码,它是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()
}
}
答案 0 :(得分:0)
将UISlider
与UIControlEventValueChanged
函数联系起来,类似于UIButton
的功能。当滑块上的值发生变化时会调用此方法,您可以在此时获取滑块的value
属性并将其传递给drawCanvas1
。只要传入一个值,默认的0.75就会被忽略。