Help us understand the problem. What is going on with this article?

UIImage で Resizable Image

More than 5 years have passed since last update.

Android でいう 9-Patch 的な画像引き延ばしができる。(9-Patch ほど小回りは効かない)

角丸ボタンなんかの素材は小さく作っておいて、実装側で引き延ばすやり方がエコかもしれない。
その場合、細かいノイズをかけたようなデザインは避け、平坦なグラデーションの方が都合が良い(ノイズ等だと残念な感じに引き延ばされ汚くなる)。
ノイズ系には後述の UIImageResizingModeTile を使用すると良い。

UIImage *image = [UIImage imageNamed:@"ButtonNoGazou.png"];

// image の上0pt, 左4pt, 下2pt, 右8pt の padding を残して引き延ばす
UIImage *btnbg = [image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 2, 8)];

// UIButton の背景にあてれば、ボタンの大きさに合わせて画像が引き延ばされる。
[btn setBackgroundImage:btnbg forState:UIControlStateNormal];

UIImageResizingMode (iOS 6)

iOS 6以降からは UIImageResizingMode で引き延ばし方を指定出来る。
標準は UIImageResizingModeTile でタイル状に補完される。ノイズ系の画像に向いている。
もうひとつの UIImageResizingModeStretch では引き伸ばして補完される。グラデーションやのっぺり系の画像に向いている。

UIViewContentMode

UIImageView の場合は ContentMode によって描画内容が変化する。
いちばんしっくりくるのが UIViewContentModeScaleToFill、
UIViewContentModeAspectFit, UIViewContentModeAspectFill では View の矩形に合わせて描画しようとする。
UIViewContentModeTop 等ではそもそもうまく描画されないような気がする。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away