Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在SwiftUI中从顶部创建可拖动视图?

如何在SwiftUI中从顶部创建可拖动视图?
EN

Stack Overflow用户
提问于 2022-02-20 21:47:40
回答 1查看 129关注 0票数 0

我正在尝试从顶部创建可拖动的视图,这是一种覆盖。我是附加一样的东西,但有底部床单,但我正在寻找顶部的床单。当叠加来时,背景应该是模糊的。

我不知道如何实现,因此没有代码.我在SwiftUI中尝试了父母子列表,但这是有差异的。行为。

任何例子或建议都是恰当的。

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 12:45:08

像这样吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
struct SheetView: View {
    let title: String
    var body: some View {
        NavigationView {
            List {
                ForEach(0..<30) { item in
                    Text("Item \(item)")
                }
            }
            .listStyle(.plain)
            .navigationTitle(title)
        }
    }
}


struct ContentView: View {
    
    @State private var currentDrag: CGFloat = 0
    @State private var stateDrag: CGFloat = -300
    
    let minDrag: CGFloat = -UIScreen.main.bounds.height + 120
    
    var body: some View {
        ZStack {
            VStack(spacing: 0) {
                Spacer(minLength: 36)
            SheetView(title: "Bottom Sheet")
                .background(.primary)
                .opacity(stateDrag + currentDrag > minDrag ? 0.5 : 1)
                .blur(radius: stateDrag + currentDrag > minDrag ? 5 : 0)
            }
            
            VStack(spacing: 0) {
                SheetView(title: "Top Sheet")
                    .background(.background)
                    .offset(x: 0, y: stateDrag + currentDrag)
                
                Image(systemName: "line.3.horizontal").foregroundColor(.secondary)
                    .padding()
                    .frame(maxWidth: .infinity)
                    .background(.background)
                    .contentShape(Rectangle())
                    .offset(x: 0, y: stateDrag + currentDrag)

                    .gesture(DragGesture()
                                            .onChanged { value in
                        withAnimation {
                            currentDrag = value.translation.height
                        }
                    }
                                            .onEnded { value in
                        stateDrag += value.translation.height
                        stateDrag = max(stateDrag, minDrag)
                        currentDrag = .zero
                    })
            }
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71201707

复制
相关文章
如何在 SwiftUI 中创建条形图
条形图以矩形条的形式呈现数据的类别,其宽度和高度与它们表示的值成比例。本文将展示如何创建一个垂直条形图,其中矩形的高度将代表每个类别的值。
Swift社区
2022/12/12
5.3K0
如何在 SwiftUI 中创建条形图
在 Flutter 中创建可拖动的浮动操作按钮[Flutter专题15]
Flutter 允许您使用FloatingActionButton小部件添加浮动操作按钮。但是,它不允许您拖动按钮。如果你想让它可拖动怎么办。本教程有一个示例,说明您需要做什么才能创建浮动操作按钮,只要它位于父小部件内,就可以将其拖动到屏幕周围的任何位置。
徐建国
2021/12/07
5.7K0
在 Flutter 中创建可拖动的浮动操作按钮[Flutter专题15]
在Swift中创建可缩放的图像视图
没有什么比完美的图片更能让你的应用程序熠熠生辉,但如果你想让你的应用程序用户真正参与并与图片互动呢?也许他们想放大、平移、掌握这些图像?
玖柒的小窝
2021/11/05
5.7K0
如何在Linux中从可启动USB驱动器创建ISO?
我们都知道如何从ISO创建可引导的USB驱动器。我们可以使用dd命令、Etcher、Popsicle、Bootiso、MultiCD和Mkusb创建可启动的USB设备。现在,我们将反向进行。是的,在这个简短的教程中,我们将看到如何从已经创建的可启动USB驱动器创建ISO。当您丢失实际的ISO镜像并想要创建其他可启动驱动器时,这将非常有用。
用户6543014
2020/02/14
3.8K0
如何在Linux中从可启动USB驱动器创建ISO?
如何在SwiftUI中实现interactiveDismissDisabled
由于健康笔记[2]中数据录入都是在Sheet中进行的,为了防止用户在录入过程中由于误操作(使用手势取消Sheet)丢失数据,因此,从最初的版本开始,我就一直使用各种手段加强对Sheet的控制。
东坡肘子
2022/07/28
3.9K0
如何在SwiftUI中实现interactiveDismissDisabled
Ask Apple 2022 与 SwiftUI 有关的问答(上)
Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为上篇。
东坡肘子
2022/12/16
12.3K0
Ask Apple 2022 与 SwiftUI 有关的问答(上)
mysql创建索引视图_mysql中创建视图、索引[通俗易懂]
视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变。
全栈程序员站长
2022/09/16
7.7K0
如何在Xcode下预览含有Core Data元素的SwiftUI视图
从SwiftUI诞生之日起,预览(Canvas Preview )一直是个让开发者又爱又恨的功能。当预览正常工作时,它可以极大地提高开发效率;而预览又随时可能因为各种莫名其妙的原因崩溃,不仅影响开发进程,同时又让开发者感到沮丧(很难排查出导致预览崩溃的故障)。
东坡肘子
2022/07/28
5.2K0
如何在Xcode下预览含有Core Data元素的SwiftUI视图
SwiftUI Overlay Container 2 —— 可定制、高效、便捷的视图管理器
SwiftUI Overlay Container[1] 是一个用于 SwiftUI 的视图容器组件。一个可定制、高效、便捷的视图管理器。
东坡肘子
2022/07/28
2.1K0
SwiftUI Overlay Container 2 —— 可定制、高效、便捷的视图管理器
在 SwiftUI 中实现视图居中的若干种方法
将某个视图在父视图中居中显示是一个常见的需求,即使对于 SwiftUI 的初学者来说这也并非难事。在 SwiftUI 中,有很多手段可以达成此目的。本文将介绍其中的一些方法,并对每种方法背后的实现原理、适用场景以及注意事项做以说明。
东坡肘子
2022/12/16
6.8K0
在 SwiftUI 中实现视图居中的若干种方法
避免 SwiftUI 视图的重复计算
随着近年来有关 SwiftUI 的文章与书籍越来越多,开发者应该都已经清楚地掌握了 —— “视图是状态的函数” 这一 SwiftUI 的基本概念。每个视图都有与其对应的状态,当状态变化时,SwiftUI 都将重新计算与其对应视图的 body 值。
东坡肘子
2022/08/03
9.3K0
避免 SwiftUI 视图的重复计算
解析SwiftUI布局细节(二)循环轮播+复杂布局
上一篇我们总结的主要是VStack里面的东西,由他延伸到 @ViewBuilder, 接着我们上一篇总结的我们这篇内容主要说的是下面的几点,在这些东西说完后我准备解析一下苹果在SiwftUI文档中说道的比较好玩的一个东西,具体的我们后面在看。这篇我们还是说我们关于SwiftUI的东西,再提一下Demo代码我已经提交上Git了,目前Demo进度为一级页面基本上结束,地图点击大头针的添加也刚处理完,代码有需要的小伙伴可以去Git看看,项目地址
Mr.RisingSun
2021/01/06
12.3K1
解析SwiftUI布局细节(二)循环轮播+复杂布局
SheetKit——SwiftUI模态视图扩展库
如果想获得更好的阅读体验,可以访问我的博客 www.fatbobman.com。[1]
东坡肘子
2022/07/28
2.9K0
SheetKit——SwiftUI模态视图扩展库
Ask Apple 2022 与 SwiftUI 有关的问答(下)
Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为下篇。
东坡肘子
2022/12/16
14.9K0
Ask Apple 2022 与 SwiftUI 有关的问答(下)
在SwiftUI中使用UIKit视图
已迈入第三个年头的SwiftUI相较诞生初始已经提供了更多的原生功能,但仍有大量的事情是无法直接通过原生SwiftUI代码来完成的。在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。
东坡肘子
2022/07/28
8.3K0
在SwiftUI中使用UIKit视图
高级 SwiftUI 动画 — Part 1:Paths
在本文中,我们将深入探讨一些创建 SwiftUI 动画的高级技术。我将广泛讨论 Animatable[1] 协议,它可靠的伙伴 animatableData[2],强大但经常被忽略的 GeometryEffect[3] 以及完全被忽视但全能的 AnimatableModifier[4] 协议。
Swift社区
2022/04/04
3.8K0
高级 SwiftUI 动画 — Part 1:Paths
用NavigationViewKit增强SwiftUI的导航视图
如果想获得更好的阅读体验,请访问我的博客 www.fatbobman.com[1]
东坡肘子
2022/07/28
3.3K0
用NavigationViewKit增强SwiftUI的导航视图
在 SwiftUI 中创建一个环形 Slider
Slider 控件是一种允许用户从一系列值中选择一个值的 UI 控件。在 SwiftUI 中,它通常呈现为直线上的拇指选择器。有时将这种类型的选择器呈现为一个圆圈,拇指绕着圆周移动可能会更好。本文介绍如何在 SwiftUI 中定义一个环形的 Slider。
韦弦zhy
2023/01/06
3.7K0
在 SwiftUI 中创建一个环形 Slider
如何在 SwiftUI 中显示二维码
Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心的技术内容,也整理收集优秀的学习资料。
Swift社区
2022/04/04
1.8K0
点击加载更多

相似问题

在SwiftUI视图内创建拖动手柄(用于可拖动窗口等)

342

如何在iphone上创建可拖动面板,如通知面板

11

创建可拖动的屏幕外视图(如iOS 5通知中心)

23

如何在td顶部放置可拖动的div

22

如何使用SwiftUI使按钮可拖动/可移动?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文