6

サイズ 170x50 の画像を引き伸ばし、サイズ 240x140 の画像ビューで表示したいと思います。元の画像は次のようになります。

ここに画像の説明を入力

四隅はそのままにして、中央部分だけ伸ばしたいです。次のコードを使用します。


    UIImage *originalImg = [UIImage imageNamed:@"ImageNamed"];
    UIImage *resizeImg = [originalImg resizableImageWithCapInsets:UIEdgeInsetsMake(20 ,10, 10, 10)];
    self.originalImgV.image = originalImg;
    self.resizedImgV.image = resizeImg;

originalImgV と resizedImgV の両方が「アスペクト フィル」に設定されています。シミュレーターで実行すると、結果は次のようになります。

ここに画像の説明を入力

私が理解できないのは、resizedImgV に 2 つの矢印があることです! なぜ、どのように正しく使用できるのか教えていただけますか?ありがとう

4

3 に答える 3

13

あなたの問題は、に渡す値にありますUIEdgeInsetsMake。値は上、左、下、右です。左上に矢印があるため、左の値が画像の左端から矢印のすぐ右まで十分に大きいことを確認する必要があります。

投稿した画像を考えると、次のようなものが必要です。

 UIEdgeInsetsMake(12, 32, 4, 4)

ところで - 画像は、左 + 右 + 幅 1 ピクセル、高さ + 底 + 1 ピクセルのみにする必要があります。そのため、画像はそれほど大きくする必要はありません。

于 2013-09-04T05:00:51.463 に答える