---
title: "Using complex gestures in a SwiftUI ScrollView"
url: https://daily.dev/posts/using-complex-gestures-in-a-swiftui-scrollview-dc9zpo5nz
source_url: https://danielsaidi.com/blog/2022/11/16/using-complex-gestures-in-a-scroll-view
type: article
source: "Daniel Saidi"
published: 2026-07-05T07:14:01.792Z
updated: 2026-07-05T07:19:11.096Z
tags: ["ios", "swift", "swiftui"]
reading_time: 12
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Using complex gestures in a SwiftUI ScrollView

**[Daniel Saidi](https://daily.dev/sources/danielsaidi)** · 12 min read · 0 upvotes · 0 comments

## Summary

SwiftUI gestures like long press and drag conflict with ScrollView scrolling. The post explores why this happens and proposes a workaround using ButtonStyle, which can detect press/release states without blocking scroll gestures. A custom ScrollViewGestureButton is built step-by-step, supporting press, release, double tap, long press, and drag gestures. An update notes that iOS 18 simplifies this by allowing simultaneous gestures natively, and an open-source GestureButton library is available with the updated approach.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://danielsaidi.com/blog/2022/11/16/using-complex-gestures-in-a-scroll-view>

## Similar posts on daily.dev

- [SwiftUI: LongPressGesture OnChange Not triggered\! Updating Not triggered\!](https://daily.dev/posts/swiftui-longpressgesture-onchange-not-triggered-updating-not-triggered--zsgwwvasx) · gitconnected · 0 upvotes · 0 comments

---

Tags: [#ios](https://daily.dev/tags/ios), [#swift](https://daily.dev/tags/swift), [#swiftui](https://daily.dev/tags/swiftui)

[View this post on daily.dev](https://daily.dev/posts/using-complex-gestures-in-a-swiftui-scrollview-dc9zpo5nz)
