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

アプリに表示している画像をCGRectを使って動的に拡大・縮小する方法について考えてみます。(Swift3.0からCGRectMakeからCGRectに変わりました。)
 
下の例では「+」「-」のボタンタップで画像を拡大縮小させています
 

Swift 3.0
Xcode 8.2.1

 

sponsored link

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

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

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

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

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

 
画像は、Retinaに対応させるために 「@2x」を名前に追加して、Assets.xcassets にコピペします。
 

 
また、画像の拡大・縮小はCGAffineTransformを使っても可能です。
CGAffineTransform:画像を回転、移動、反転
 
関連ページ

Reference:
CGRect

モデル 茜 さや

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする