2016-03-21 2 views
0

.xibファイルからインスタンス化されるMyUIViewというカスタムIBDesignable UIViewを構築しています。 MyUIViewは、アプリ全体で再利用されることを意図しています。iosでカスタムUIのサイズを設定する

私が直面している問題は、ストーリーボードのUIViewControllerでMyUIViewビューを作成すると、autolayoutにはビューの幅と高さに制約を設ける必要があることです。 MyUIViewの高さが可変で、私はストーリーボードのビューのサイズを指定せずに、レンダリングされたMyUIViewの幅と高さをラップすることができることを願っていました。

これはどのように達成できますか?

ありがとうございます!

答えて

0

ビュークラスでintrinsicContentSizeを上書きします。明示的な制約を指定しない限り、自動レイアウトエンジンはあなたのビューにこのサイズを使用します。

本来のサイズを変更する必要がある場合はいつでも、invalidateIntrinsicContentSize()に電話する必要があります。

+0

私はそれを行っているが、オートレイアウトがまだintrinsicContentSize()FUNC高 'オーバーライドを提供するために私が必要 - > CGSize { リターンCGSize(幅:UIScreen.mainScreenを()bounds.size.width、高さ:85) } ' – WKL

+0

Btw、docsは「受信ビューの自然なサイズを返します。**ビュー自体のプロパティだけを考慮しています**」と言っています。そのため、画面の幅を有効にしているかわかりません。 –

+0

はい。この特定のビューでは、常に画面の幅を埋める必要があります – WKL

関連する問題