2016-07-01 2 views
0

私はiOSプログラミングを初めて利用しています。私はthisチュートリアルに従っていましたが、intrinsicContentSize()関数に問題があります。iOS - カスタムビューのframe.size.heightは0の値を与えます

それは私がカスタムビューを作成するために作成したカスタムクラスに属する
override func intrinsicContentSize() -> CGSize { 
     let buttonSize = Int(frame.size.height) 
     let width = (buttonSize * starCount) + (spacing * (starCount - 1)) 
     return CGSize(width: width, height: buttonSize) 
    } 

(それは5つ星の評価を処理しなければならないコントロールがあります):私はこのコードを書きました。 問題は、frame.size.heightが0の値を与えるため、ビューが画面に表示されないことです。 問題はどこにありますか?チュートリアルのコードをコピーしました。「カスタムコントロールを実装する」に進み、「ボタンサイズの定数を宣言する」に進むとチェックできます。 私はXcodeベータ版を使用していますので、チュートリアルはswift 2.3用ですが、これは問題になるでしょうか?

答えて

0

StackViewをプロジェクトに使用しましたか?画像怒鳴るを確認してください:

stack view

+0

はい、ありました。私も制約を加えました。私は、トップレイアウトガイドの制約を削除すると、私が望むようにビューが表示されることがわかりました。しかし、私はなぜこれが起こっているのか理解していない... – Max

2

私もこの問題に遭遇しました。 intrinsicContentSize()がプロパティに変更されたため、次のようにオーバーライドします。

+1

それは適切な方法をオーバーライドするが、それは私のための5つのボタンの代わりに画面の下部に大きな赤いボックスになります –

関連する問題