0

15枚の画像を描きたいのですdrawRect:が、見つけた最大のものは、NSDrawNinePartImage()4つのコーナー、上下の塗りつぶし、およびそれらの間に3つの行(2つのサイドフィルと1つのセンターフィル)が必要でした。

ここで推奨されるものは何ですか?NinePart + 2 * ThreePart?または、他の何か?

4

1 に答える 1

1

NSDrawNinePartImage三目並べ/四角板のように、9 つの整列したセクションに分割された 1 つのものを描画するためのものです。

その主な使用例は、ボタンなどの角丸長方形の UI 要素です。4 つの固定サイズのコーナー、4 つの一軸方向に伸縮可能な側面、および 1 つの二軸方向に伸縮可能な中央があります。

それはあなたが説明しているものと一致しません。中央の3本の柱?

余分な 2 つの列の水平方向のサイズを固定する必要がある場合は、両端の画像をまとめて、角ごと、側面ごとに 1 つの画像にします。その後NSDrawNinePartImage、通常どおり使用してください。

2 つの余分な列が中央の列の一部であり、水平方向に伸縮可能である必要がある場合はNSDrawThreePartImage、NSCustomImageRep サブクラス内から使用し、3 つの中央の列部分の画像ごとにそのサブクラスのインスタンスを使用することをお勧めします。その後NSDrawNinePartImage、通常どおり使用してください。

(必要に応じて、前の 3 つの段落の「列」を「行」に、「水平」を「垂直」に置き換えてください。)

于 2010-03-30T23:34:45.367 に答える