SwiftでiOSアプリのUIImageView画像を任意の角度で回転させる方法
はじめに
画像はほぼすべてのアプリケーションで使われており、特にゲームアプリなどでは画像が回転している場面をよく目にします。
この記事では、Swiftを使ってiOSアプリのUIImageViewに表示した画像を、指定した角度で回転させる方法をステップごとにわかりやすく解説します。それでは始めましょう。
実装手順
ステップ1:プロジェクトの作成
Xcodeを開き、「Single View Application」を選択して、新しいプロジェクトを「RotateImage」という名前で作成します。
ステップ2:UIの構築
Main.storyboardを開き、UIImageViewと2つのボタンを配置します。ボタンにはそれぞれ「90度回転」「45度回転」という名前を付けてください。また、UIImageViewにはあらかじめサンプル画像を設定しておきます。

ステップ3:ボタンのアクションを作成
両方のボタンに対して@IBActionを作成し、それぞれ「rotate90button」「rotate45button」という名前を付けます。
@IBAction func rotate90button(_ sender: Any) {
}
@IBAction func rotate45button(_ sender: Any) {
}ステップ4:UIImageViewのアウトレット接続
UIImageViewに対して@IBOutletを作成し、「imageView」という名前を付けます。
@IBOutlet var imageView: UIImageView!
ステップ5:回転処理を実装
次に、回転用のメソッド内に以下のコードを追加します。
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / 回転させたい角度に対応する値))
完成すると、コード全体は次のようになります。
@IBAction func rotate90button(_ sender: Any) {
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / 2)) // 90度回転
}
@IBAction func rotate45button(_ sender: Any) {
imageView.transform = imageView.transform.rotated(by: CGFloat(Double.pi / 4)) // 45度回転
}動作確認
ここまでできたら、アプリをビルドして実行してみましょう。ボタンをタップするたびに、画像が指定した角度ずつ回転していく様子が確認できます。
ポイント解説
回転の仕組みはとてもシンプルです。円周率(π)を任意の数値で割ることで、目的の角度に対応したラジアン値を求められます。例えば、Double.pi / 2は90度、Double.pi / 4は45度に相当します。この考え方を応用すれば、30度や60度など、どんな角度でも自由に回転させることが可能です。
-
JavaとOpenCVで画像を回転させる方法をわかりやすく解説
JavaでOpenCVを使って画像を回転させたい場合、ImgprocクラスのwarpAffine()メソッドを使用します。このメソッドは、指定された画像にアフィン変換(平行移動・回転・拡大縮小などの線形変換)を適用するためのものです。warpAffine()メソッドのパラメータwarpAffine()メソッドは、以下の引数を受け取ります。変換元の画像(src)、変換先の画像(dst)、変換行列(M)を表す3つのMatオブジェクト出力画像のサイズを表す整数値(Sizeオブジェクト)画像を回転させる手順画像を回転させるには、まずgetRotationMatrix2D()メソッドを使って回転行列を作
-
SwiftでRealmデータベースをiOSアプリに導入する方法|CRUD操作を学べるToDoアプリ開発ガイド
こんにちは!この記事では、RealmデータベースをiOSアプリに追加する方法を解説します。シンプルなToDoアプリを作りながら、RealmデータベースにおけるCRUD(Create=作成、Read=読み取り、Update=更新、Delete=削除)操作の実装方法を学んでいきましょう。Realmとは?Realmは、開発者にとって扱いやすく使い勝手の良いオープンソースのモバイル向けデータベースです。iOSアプリではCore Dataの代替として利用することもできます。Realmはクロスプラットフォーム対応のモバイルデータベースです。そのため、ネイティブのAndroid・iOSアプリはもちろん、Re