簡體   English   中英

在Swift中收到“無法使用類型'((),CGFloat)'的參數列表調用'CGPointMake'”

[英]“Cannot invoke 'CGPointMake' with an argument list of type '((), CGFloat)'” received in Swift

我收到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是一個浮點數。

如果您的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都是CGPointMake接受CGFloat,因此您需要讓xForValue返回CGFloat或強制轉換它,如其他答案所述。

您必須將其轉換為CGFloat

_minThumb.center = CGPointMake(CGFloat(self.xForValue(selectedMinimumValue)), self.center.y);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM