2016-09-19 1 views
0

何のメンバーの大きさを持っていないと言うが、私はIOSは、エラーフレームがIフレームが正確に何であるかを知らない

override public var intrinsicContentSize: CGSize { 
    let buttonSize = Int(frame.size.height) 
    let width = (buttonSize * starCount) + (spacing * (starCount-1)) 
    return CGSize(width: width, height: buttonSize) 
} 

を構築することができます。しかし、私は

class RatingControl: UIView { 

// MARK: Properties 

let spacing = 5 
let starCount = 5 
let buttonSize = Int(frame.size.height) 

..... 
} 

このコードをビルドすることはできません、swift3 CGRect - > CGRect 'にメンバ' size 'がありません "

なぜこのようなことが起こりますか?

ありがとうございます。

+0

selfが初期化される前に 'frame'プロパティにアクセスすることはできません。 – Cosyn

答えて

0

何らかの方法でframe変数を宣言していないためです。右の前

print(frame) 

を使用して、

let buttonSize = Int(self.frame.size.height) 

...またはframe変数をすることになっていることが何であるかを確認してください:私が見るように またはそれ以上は、あなたがUIViewのを拡張することを、あなたのようなものを使用する必要がありますlet buttonSize ... line

関連する問題