[SwiftUI]ビューにイベントを追加する「ジェスチャ(Gesture)」

スポンサーリンク
SwiftUI
スポンサーリンク
スポンサーリンク

ジェスチャーとは?

スマホ, アプリ, ニュース, ウェブ, インターネット, 情報, ネット, 記事, 報道, ブログ, 漫画

SwiftUIのButtonやToggleビューには、タップされた時に処理が実行されるイベントがあります。

TextやImageには、こうしたイベントがありません。

イベントを持っていないビューにイベントを追加する機能を「ジェスチャー」と呼びます。

タップ

SwiftUIには、次のようなタップイベントを追加するジェスチャーが用意されています。

func onTapGesture ( count : Int, perform action : { }) -> some View

count : タップ回数
perform : 処理

countで指定した回数文タップされた時に、performで指定した処理を行います。

回数はデフォルトでは1で、2を設定することでダブルタップにすることも可能です。

 var body: some View {
        Text("タップ")
            .onTapGesture(count: 1, perform: {
                //処理
            })
    }

上記はテキストビューをタップした時に、イベントを起こす例です。


価格からは考えられない!多機能スマートウォッチ【PROJECT-EE】

長押し

コンピューター, スマート フォン, オンライン, デジタル, バナー, ヘッダー, データ, モバイル

長押しには、次のようなジェスチャが用意されています。

func longPressGesture( minimumDuration : Double, maximumDistance : CGFloat ,
pressing : ((Bool) -> Void )? , perform action : @escaping () -> Void) -> som View

minimumDuration : 長押しと判別する最小時間
maximumDistance : 長押しの場所がどれだけずれても良いか
pressing : 押された時と離された時に行うクロージャ
perform : 長押しで行う処理

最初の2つは長押しを判定するための時間と距離の条件を指定します。

距離というのは、最初にタップした位置からどれだけずれても良いかです。

performで、長押しした時に行う処理を実行します。

 Text("タップ")
            .onLongPressGesture(minimumDuration: 3, maximumDistance: 5, perform: {
                //処理
            })

上記は、テキストに長押しのジェスチャをつけた例です。

その他のジェスチャ

その他にもジェスチャを細かく設定できる.gestureモディファイアやドラッグ時の処理を設定できるDragGestureなどがあります。


お名前.com

まとめ

ジェスチャーを使うことで、ビューにイベントを追加することが出来ます。

SwiftUIには、様々なイベントのジェスチャーが用意されています。

おすすめの記事


世界最大級のオンライン学習サイトUdemy

オススメの書籍

Amazon.co.jp: 1人でアプリを作る人を支えるSwiftUI開発レシピ (技術の泉シリーズ(NextPublishing)) eBook : 佐藤 剛士: 本
Amazon.co.jp: 1人でアプリを作る人を支えるSwiftUI開発レシピ (技術の泉シリーズ(NextPublishing)) eBook : 佐藤 剛士: 本
Amazon.co.jp: SwiftUI 対応 たった2 日でマスターできる iPhone アプリ開発集中講座 Xcode 13/iOS 15/Swift 5.5 対応 eBook : 藤治仁, 小林加奈子, 小林由憲: 本
Amazon.co.jp: SwiftUI 対応 たった2 日でマスターできる iPhone アプリ開発集中講座 Xcode 13/iOS 15/Swift 5.5 対応 eBook : 藤治仁, 小林加奈子, 小林由憲: 本
SwiftUI 徹底入門 | 金田 浩明 | コンピュータ・IT | Kindleストア | Amazon
Amazonで金田 浩明のSwiftUI 徹底入門。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
Amazon.co.jp: 絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS 13】 完全対応 eBook : 高橋 京介: 本
Amazon.co.jp: 絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS 13】 完全対応 eBook : 高橋 京介: 本

コメント

タイトルとURLをコピーしました