- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在任何地方都找不到这个问题的答案,希望你们中的一个能帮助我。
我有一个包含一些内容的 MainView。按下一个按钮,我想打开一个 DetailView。我正在使用 ZStack 在顶部分层 DetailView,填满屏幕。
但是使用下面的代码我无法让它工作。 DetailView 在插入时没有过渡,在移除时停止。我尝试过手动设置 zIndex 和不设置自定义 assymetricalTransition。无法让它工作。任何解决方案?
//MainView
@State var showDetail: Bool = false
var body: some View {
ZStack {
VStack {
Text("Hello MainWorld")
Button(action: {
withAnimation(.spring()) {
self.showDetail.toggle()
}
}) {
Text("Show detail")
}
}
if showDetail {
ContentDetail(showDetail: $showDetail)
.transition(.move(edge: .bottom))
}
}
.edgesIgnoringSafeArea(.all)
}
这里是 DetailView:
//DetailView
@Binding var showDetail: Bool
var body: some View {
VStack (spacing: 25) {
Text("Hello, DetailWorld!")
Button(action: { withAnimation(.spring()) {
self.showDetail.toggle()
}
}) {
Text("Close")
}
.padding(.bottom, 50)
}
.frame(width: UIScreen.main.bounds.width,
height: UIScreen.main.bounds.height)
.background(Color.yellow)
.edgesIgnoringSafeArea(.all)
}
我正在运行 Xcode 11.4.1,因此隐式动画似乎也不起作用。真的卡在这里,希望你们中的一个能帮助我!谢谢 :)
最佳答案
这是一个解决方案。使用 Xcode 11.4/iOS 13.4 测试。
struct MainView: View {
@State var showDetail: Bool = false
var body: some View {
ZStack {
Color.clear // extend ZStack to all area
VStack {
Text("Hello MainWorld")
Button(action: {
self.showDetail.toggle()
}) {
Text("Show detail")
}
}
if showDetail {
DetailView(showDetail: $showDetail)
.transition(AnyTransition.move(edge: .bottom))
}
}
.animation(Animation.spring()) // one animation to transitions
.edgesIgnoringSafeArea(.all)
}
}
struct DetailView: View {
@Binding var showDetail: Bool
var body: some View {
VStack (spacing: 25) {
Text("Hello, DetailWorld!")
Button(action: {
self.showDetail.toggle()
}) {
Text("Close")
}
.padding(.bottom, 50)
}
.frame(maxWidth: .infinity, maxHeight: .infinity) // fill in container
.background(Color.yellow)
}
}
关于SwiftUI:无法在 MainView 中将 DetailView 转换为 ZStack 以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61445745/
我有一个这样的 Zstack: ZStack { Image("beach") .resizable() .edgesIgnoringSafeArea(.all) .sca
我在 ZStack 内的 Rectangle 中添加了一个手势。我有一个 VStack,它是按钮的 View 或菜单。当我将手势添加到矩形时(因为我需要检测菜单按钮后面那个 View 上的点击),然后
我已将 Color.orange 添加到我的 ZStack - 但我的 View 仍然具有默认的白色/灰色背景: struct Settings: View { @State var minA
我正在 SwiftUI 中创建一个自定义的“披露组”,它实现了一种“滑动删除”功能。它的工作原理是将两个矩形堆叠在一起,底部的矩形是滑动时看到的红色“删除”按钮。我还有一个 bool 值,用于标记组件
白色条应该与深色条的左侧对齐。我试过使用间隔器,或改变单个对象的对齐方式,但没有任何效果。这是我的代码: VStack { HStack {
我目前正在尝试按照教程处理 SwiftUI,但不知何故我无法解决一个问题: 我创建了另一个 View ,即我的 HomeView.swift - 该文件包含以下代码: import SwiftUI s
我正在尝试在 ZStack 中创建多个转换。 这是一个测试 View ,其中包含一些文本和一个圆圈,它们都有自己的过渡效果。 struct Test: View { @Binding var
本文整理了Java中org.zstack.header.zone.ZoneInventory类的一些代码示例,展示了ZoneInventory类的具体用法。这些代码示例主要来源于Github/Stac
本文整理了Java中org.zstack.zql.ast.ZQLMetadata类的一些代码示例,展示了ZQLMetadata类的具体用法。这些代码示例主要来源于Github/Stackoverflo
目标是一个菜单,其中:用户点击绿色按钮:显示绿色菜单用户点击蓝色按钮:显示蓝色菜单 我做了什么:设置“当点击绿色时,绿色是 ZStack 中的顶层”的状态。 结果:没有工作:当点击绿色时,它会变为绿色
这个问题在这里已经有了答案: SwiftUI: How to remove margin between views in VStack? (3 个答案) 关闭 2 年前。 当我试图将另一个 VSt
我正在尝试使用 ZStack 和字段的几何形状(位置和大小)将 ListView 直接定位在文本字段下方。这是为了创建一个自动完成的选择列表 设置偏移量似乎只成功了一半。 到目前为止,它看起来如下。
我正在尝试将一个 View 放在一起,该 View 由顶部标题 View 、底部内容 View 和位于顶部的 View 组成,该 View 以分割两个 View 的线为中心。我发现我需要 ZStack
这是我的两个重叠矩形的代码,对它们应用了不透明度。 var body: some View { let r = Rectangle() .foregroundColor(.bl
我正在尝试对齐 Text在 ZStack 中查看。它适用于较大的屏幕,例如 iphone 11 plus max,但在较小的屏幕上,如果我使用如下所示的尾随或前导对齐方式,文本将离开屏幕。我在预览、模
使用 ZStack 有什么区别?与使用 .overlay() 相比修饰符。 苹果 说:ZStack = "覆盖其子项的 View ,使它们在两个轴上对齐。".overlay = "在此 View 前分
我遇到这个问题,当我将一个矩形放在带有渐变填充的 ScrollView 上时,scrollview 停止对触摸使用react。 目的是淡出 ScrollView 底部的项目,这样它们就不会与父 Vie
我遇到这个问题,当我将一个矩形放在带有渐变填充的 ScrollView 上时,scrollview 停止对触摸使用react。 目的是淡出 ScrollView 底部的项目,这样它们就不会与父 Vie
我正在 SwiftUI 中构建自定义修饰符。该修改器的任务之一是将整个内容包装在 ZStack 中。但如果我将此修改器应用到 NavigationView,我会看到一个空白屏幕。 我应该做一些特别的事
如何通过将 View 拖动到另一个 View 的上方或下方来重新排列 View 在 ZStack 中的位置(例如,在这种情况下,我如何通过将卡拖动到另一张卡的上方或下方来重新排列卡组中卡的顺序,以移动
我是一名优秀的程序员,十分优秀!