0

環境:Xcode4.3.1、sdk5.1

画像の一部だけを引き伸ばしたいので、次のようなコードを書きます。

    leftImage = [UIImage imageNamed:@"leftStyleBackground.png"];
UIEdgeInsets insets = UIEdgeInsetsMake(2, 14, 2, 2);
if ([leftImage respondsToSelector:@selector(resizableImageWithCapInsets:)])
    leftImage = [leftImage resizableImageWithCapInsets:insets];
else {
    leftImage = [leftImage stretchableImageWithLeftCapWidth:14 topCapHeight:2];
}

ただし、結果として、元の画像は uiimageview フレームを埋めるために繰り返し表示されるだけです。

– stretchableImageWithLeftCapWidth:topCapHeight: メソッドを使用すると、画像を正しく引き伸ばすことができます。

ios5 の新しい方法が機能しない理由は何か考えはありますか?

4

1 に答える 1

1

resizableImageWithCapInsets: 画像領域を並べて表示します。

ストレッチが必要な場合:

6.0 以降の場合 - 次を使用: resizableImageWithCapInsets:resizingMode: を にresizingMode設定しUIImageResizingModeStretchます。

6.0 より前 - 以下を使用:stretchableImageWithLeftCapWidth:topCapHeight:

于 2012-11-07T12:54:59.253 に答える