SwiftUI:ScrollView内でスクロールする場合、ボタンの選択を無効にします

カイルビアード

私はSwiftUIでピクルスになっていて、ボタンが垂直に積み重ねられた垂直ScrollViewがあります。スクロールを開始すると、2つの結果があります。

  1. 指がボタンにあるときにスクロールを開始した場合、スクロールが停止すると、ボタンアクションが起動します。
  2. ボタン間のパディングに指を置いたときにスクロールを開始した場合、スクロールが停止してもアクションは発生しません。

私の質問:上記のシナリオ(1.)でボタンアクションが起動しないようにする方法はありますか?つまり、ボタンが無効になっているか、スクロールが停止/静止しているときにのみアクションが起動できるようになりますか?

ScrollView(.vertical) {

    ForEach(0...5, id: \.self) { i in

        VStack(alignment: .leading, spacing: 15) {

            Button(action: {
                print("selected")
            }) {
                Text("Button \(i)")
            }
        }
    }
}

.gesture()コードブロック後にタグを付けようとしましたが、認識されるだけで、認識さDragGesture().onChanged()れませんDragGesture().onEnded()ドラッグの開始位置を検出し、そのポイントを画面上のすべてのボタンの位置と相互参照することを検討しましたが、それは少し過剰に思えます。

どんな助け、提案、または代替案も大歓迎です!

セルゲイ・ガラザ

ボタンの代わりにビューを使用してみてください。タップジェスチャと(多分)ジェスチャマスク付き。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタム選択フィールドが選択されていない場合は、woocommerce注文ボタンを無効にします

分類Dev

テーブル内のすべてのレコードのテキストボックスが空の場合は、ボタンを無効にします

分類Dev

別のボックスが選択されている場合、選択ボックスから「無効」プロパティを削除します

分類Dev

NSIS-コンポーネントが選択されていない場合は、[アンインストール]ボタンを無効にします

分類Dev

すべてのチェックボックスが選択されている場合はJQuery有効化ボタンを使用し、無効化されたボタンにcssを追加します

分類Dev

一部の選択チェックボックスが存在しない場合にドロップダウンアイテムを無効にする方法

分類Dev

Cakephp 3.6.14:ビューの選択ボックスのコントローラーで選択を行い、無効にします

分類Dev

マテリアライズ日付ピッカーで日が選択されていない場合、[OK]ボタンを無効のままにします

分類Dev

選択した場合、2番目の選択ボックスのオプションを無効にします

分類Dev

scrollXが有効になっている場合、ボタンのドロップダウンを含む行で垂直スクロールが発生します

分類Dev

ウィンドウサイズに基づいてスクロールボタンを選択的に有効または無効にする方法

分類Dev

ボタンを使用してGoogleChartのスクロールを無効/有効にできますか?

分類Dev

divを無効にし、ラジオボタンオプションが選択されている場合にのみ有効にします

分類Dev

動的に作成されたラジオボタンのグループの1つが選択されるまで、送信ボタンを無効にします

分類Dev

ユーザーが特定のラジオボタンを選択した場合にのみ、確認/ダイアログを表示し、そのダイアログボックス内でPOST要求を送信します

分類Dev

aspxページでチェックボックスがオンになっている場合、テキストボックス、テキストエリア、ドロップダウンなどの特定のコントロールを無効にします

分類Dev

Chromeで中ボタンのスクロールを無効にする方法

分類Dev

Vue.jsですべてのチェックボックスを選択します(.vueファイル内でループする場合の問題)

分類Dev

スクロール選択アニメーションが完了するのを待っている間、スクロールを無効にします

分類Dev

ボタンクリックで選択したチェックボックスを無効にする

分類Dev

オプションが選択されている場合、選択ドロップダウンのグループで選択オプションを無効にします

分類Dev

チェックボックスが選択されるまでボタンを無効にする方法

分類Dev

別のボタンが押されるまでボタンを無効にし、セル値が変更された場合は再度無効にします

分類Dev

Foundationタブを使用する場合、コンテンツへのスクロールを無効にする

分類Dev

ボタンが角度で無効になっている場合は、ツールチップテキストを無効にします

分類Dev

コンボボックスの特定のアイテムがMVVMで選択されている場合、TextBoxを有効にします

分類Dev

ボタンクリックでHorizontalScrollViewスクロールを無効にし、別のボタンクリックで再度有効にする方法は?

分類Dev

空の場合は、オプション、チェックボックス、無線タグを選択します

分類Dev

選択した行に特定の値ng-gridが含まれている場合は、ボタンを無効にします

Related 関連記事

  1. 1

    カスタム選択フィールドが選択されていない場合は、woocommerce注文ボタンを無効にします

  2. 2

    テーブル内のすべてのレコードのテキストボックスが空の場合は、ボタンを無効にします

  3. 3

    別のボックスが選択されている場合、選択ボックスから「無効」プロパティを削除します

  4. 4

    NSIS-コンポーネントが選択されていない場合は、[アンインストール]ボタンを無効にします

  5. 5

    すべてのチェックボックスが選択されている場合はJQuery有効化ボタンを使用し、無効化されたボタンにcssを追加します

  6. 6

    一部の選択チェックボックスが存在しない場合にドロップダウンアイテムを無効にする方法

  7. 7

    Cakephp 3.6.14:ビューの選択ボックスのコントローラーで選択を行い、無効にします

  8. 8

    マテリアライズ日付ピッカーで日が選択されていない場合、[OK]ボタンを無効のままにします

  9. 9

    選択した場合、2番目の選択ボックスのオプションを無効にします

  10. 10

    scrollXが有効になっている場合、ボタンのドロップダウンを含む行で垂直スクロールが発生します

  11. 11

    ウィンドウサイズに基づいてスクロールボタンを選択的に有効または無効にする方法

  12. 12

    ボタンを使用してGoogleChartのスクロールを無効/有効にできますか?

  13. 13

    divを無効にし、ラジオボタンオプションが選択されている場合にのみ有効にします

  14. 14

    動的に作成されたラジオボタンのグループの1つが選択されるまで、送信ボタンを無効にします

  15. 15

    ユーザーが特定のラジオボタンを選択した場合にのみ、確認/ダイアログを表示し、そのダイアログボックス内でPOST要求を送信します

  16. 16

    aspxページでチェックボックスがオンになっている場合、テキストボックス、テキストエリア、ドロップダウンなどの特定のコントロールを無効にします

  17. 17

    Chromeで中ボタンのスクロールを無効にする方法

  18. 18

    Vue.jsですべてのチェックボックスを選択します(.vueファイル内でループする場合の問題)

  19. 19

    スクロール選択アニメーションが完了するのを待っている間、スクロールを無効にします

  20. 20

    ボタンクリックで選択したチェックボックスを無効にする

  21. 21

    オプションが選択されている場合、選択ドロップダウンのグループで選択オプションを無効にします

  22. 22

    チェックボックスが選択されるまでボタンを無効にする方法

  23. 23

    別のボタンが押されるまでボタンを無効にし、セル値が変更された場合は再度無効にします

  24. 24

    Foundationタブを使用する場合、コンテンツへのスクロールを無効にする

  25. 25

    ボタンが角度で無効になっている場合は、ツールチップテキストを無効にします

  26. 26

    コンボボックスの特定のアイテムがMVVMで選択されている場合、TextBoxを有効にします

  27. 27

    ボタンクリックでHorizontalScrollViewスクロールを無効にし、別のボタンクリックで再度有効にする方法は?

  28. 28

    空の場合は、オプション、チェックボックス、無線タグを選択します

  29. 29

    選択した行に特定の値ng-gridが含まれている場合は、ボタンを無効にします

ホットタグ

アーカイブ