0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Qiita全国学生対抗戦Advent Calendar 2023

Day 10

【SwiftUI】Viewをズームインしたり、ズームアウトしたりする(iOS17)

Last updated at Posted at 2023-12-10

はじめに

今回のサンプルは@GestureStateという機能を使います。
初めて見たよって方は@GestureStateの記事から見てください

サンプルアプリ

実装

公式ドキュメントのコードです。

import SwiftUI

struct ContentView: View {
    @GestureState private var magnifyBy = 1.0
    
    var magnification: some Gesture {
        MagnifyGesture()
            .updating($magnifyBy) { value, gestureState, transaction in
                gestureState = value.magnification
            }
    }

    var body: some View {
        Circle()
            .frame(width: 100, height: 100)
            .scaleEffect(magnifyBy)
            .gesture(magnification)
    }
}

シュミレーターでズームイン or ズームアウトする

今まで知らなかったんですけど、今回発見しました

control + option + 画面をドラッグ

これで出来ます。

おわり

画像のズーム機能などを簡単に実装できそうですね。
さらに@GestureStateを使うと指を離した時点で勝手に初期値に戻るのでより便利になります。

公式ドキュメント

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?