私は、UIViewのcontentStretchプロパティの使用方法を理解する助けが必要です。私は、1)私が行っている効果を達成する方法に関するいくつかのガイダンスと、2)このプロパティの使い方に存在する包括的なドキュメントへの参照に感謝します。 Appleのドキュメントを理解していると思っていましたが、私は今は理解していません。ここに私がやろうとしていることがあります。contentStretchを使用してUIViewの一部を伸ばす
図aのようなビューをレンダリングするカスタムUIViewがあります。以下。このUIViewのdrawRectメソッドは、左の内側のボックス(丸い角と白の背景)を、他のビューに使用されるものとは異なる色と効果でペイントします。また、UIViewの4つのコーナーはストレッチ可能ではありません(ひずみの原因となります)ので、UIViewバックグラウンドの中心のみを引き伸ばす必要があります。
私はこの図を図bのような形に拡大したいと考えています。以下。そうすることで、UIViewの高さを増やすと、白いボックスの外側(または白いボックスの右側)の部分だけが引き伸ばされ/繰り返されます。私の試みの全てにおいて
私はCと同様の図で見ると結果の幅全体に影響strecthを生成することができました。
は、それは私が私が欲しい効果を達成するために(図B)。contentStretchを使用可能ですか?ビュー全体を再描画するのに手間がかかっているはずの他のテクニックはありますか、これについての唯一の(または最良の)方法を再描画していますか?おかげで、
上記の数字は少し誤解を招くことがあります。それらは私の実際のビューの単純なワイヤフレームです(説明のために)。私の実際のビューでは、白いボックスは透明な(アルファ= 0)ウィンドウなので、サブビューにして、バックグラウンド上のウィンドウのように動作させる方法はわかりません。 contentStretch矩形を白いボックスの右下に設定すると(これは私が試みなければならないと思ったことですが)、白いボックスの下の領域が非伸縮性領域(伸張すると背景が歪む)。 – kodie
その場合は、 'UIViewContentModeRedraw'を使って' drawRect: 'で必要なものを描画してください。 –
それは私が恐れていただけでなく、私が期待したものです。ありがとう、 – kodie