我收到了CGPointMake()
的错误消息
/Users/MNurdin/Documents/iOS/RevivalxSwiftSlider/RevivalxSwiftSlider/RangeSlider.swift:66:28:无法使用类型为'((),CGFloat'的参数列表调用'CGPointMake'
我的代码
override func layoutSubviews() {
_minThumb.center = CGPointMake(self.xForValue(selectedMinimumValue), self.center.y);
}
func xForValue(value: Float){
return (self.frame.size.width-(_padding*2))*((value - minimumValue) / (maximumValue - minimumValue))+_padding;
}
selectedMinimumValue
是一个浮动。
你必须把它投射到CGFloat
_minThumb.center = CGPointMake(CGFloat(self.xForValue(selectedMinimumValue)), self.center.y);
如果你的xForValue方法有返回值,你可以尝试转换Float(self.xForValue(selectedMinimumValue))吗?
CGPoint采用CGFloat,而不是Float,你应该在使用之前进行投射
CGFloat(number)
两件事:一,你的xForValue函数没有声明一个返回类型。它应该是:
func xForValue(value: Float) -> Float {
return (self.frame.size.width-(_padding*2))*((value - minimumValue) / (maximumValue - minimumValue))+_padding;
}
二,正如其他回复中所说,CGPointMake
采用CGFloat,所以你需要让xForValue返回一个CGFloat,或者投射它,正如其他答案所说的那样。