[iPhone] UIImageView 画像のサイズを変更、拡大縮小する (Swift)

アプリに表示している画像をCGRectを使って動的に拡大・縮小する方法について考えてみます。(Swift3.0からCGRectMakeからCGRectに変わりました。)

下の例では「+」「-」のボタンタップで画像を拡大縮小させています

imageview3_1
imageview3_2
imageview3_3


 

Swift 3.0
Xcode 8.0

 

sponsored link

CGRect  画像のサイズ変更、拡大縮小

画像の 幅、高さ を取得してそれにスケールファクターを掛け合わせて拡大と縮小ができます

CGRectは位置とサイズの両方を管理するクラス、CGRectの引数として開始位置 x,y と幅と高さを設定します。
始点座標が(0,0)で横幅が200、縦幅300の矩形領域を設定するとこうなります。
 

 
画像の横幅を取得して、そのサイズのCGRectを作成し、UIImageViewのframeに設定して画像を入れます。
画像を拡大するには、このCGRectをアスペクト比を維持して大きくすればいいわけです。

実際のコードではこうなります
 
ViewController.swift

 
画像は、Retinaに対応させるために 「@2x」を名前に追加して、Assets.xcassets にコピペします。
 
screen-shot-2016-09-16-at-17-38-40
 

関連ページ

尚、Objective-C の場合は こちら です

Reference:
CGRect

モデル 長澤愛紗