【Swift UI】Viewを左右上下に反転させる方法!rotation3DEffectの使い方

この記事からわかること

  • Swift UIView左右/上下反転させる方法
  • rotation3DEffectメソッド使い方

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

Viewを左右上下に反転させる方法

Swift UIでViewを左右上下に反転させるにはrotation3DEffectメソッドを使用します。例えば左右に反転させたい場合rotation3DEffect(.degrees(180), axis: (x: 0, y: 1, z: 0))と指定します。

HStack {
    Image(systemName: "swift")
        .resizable()
        .scaledToFit()
        .frame(width: 200)
    
    Image(systemName: "swift")
        .resizable()
        .scaledToFit()
        .frame(width: 200)
        .rotation3DEffect(.degrees(180), axis: (x: 0, y: 1, z: 0))
}
【Swift UI/UIKit】UIImage(画像)を反転させる方法!

rotation3DEffectメソッド

公式リファレンス:rotation3DEffectメソッド

rotation3DEffectビューを指定した軸を中心に3次元で回転させてレンダリングするメソッドです。回転させる角度や回転軸、回転の基準となるポイントなどを細かく指定することができます。

func rotation3DEffect(
    _ angle: Angle,
    axis: (x: CGFloat, y: CGFloat, z: CGFloat),
    anchor: UnitPoint = .center,
    anchorZ: CGFloat = 0,
    perspective: CGFloat = 1
) -> some View

上下

 Image(systemName: "swift")
    .resizable()
    .scaledToFit()
    .frame(width: 200)
    .rotation3DEffect(.degrees(180), axis: (x: 1, y: 0, z: 0))

上下左右

 Image(systemName: "swift")
    .resizable()
    .scaledToFit()
    .frame(width: 200)
    .rotation3DEffect(.degrees(180), axis: (x: 0, y: 0, z: 1))

画像以外のViewでも回転させることが可能

当然ですが画像(Image構造体)だけでなく他のViewにも使用することができます。

Text("Webエンジニア学習部屋")
    .rotation3DEffect(
        .degrees(45),
        axis: (x: 0.0, y: 1.0, z: 0.0),
        anchor: .center,
        anchorZ: 0,
        perspective: 1)
【Swift UI】Viewを左右上下に反転させる方法!rotation3DEffectの使い方

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index