【问题标题】:How to make a Rectangle() and a DatePicker overlap?如何使 Rectangle() 和 DatePicker 重叠?
【发布时间】:2020-06-07 04:24:58
【问题描述】:

所以我试图移动矩形,使其看起来在 DatePicker() UI 元素的底部有一个小点:

import SwiftUI

struct TimeSelectorView: View {
    @State private var selectedDay: Date = Date()
    var body: some View {
        VStack {
            DatePicker(selection: $selectedDay, in: Date()..., displayedComponents: .date) {
                Text("")
            }.frame(width: UIScreen.main.bounds.width * 0.75)
             .clipped()
             .background(Color.white)
             .cornerRadius(15)
            Rectangle()
            .fill(Color.white)
            .frame(width: 25, height: 25)
            .rotationEffect(Angle(degrees: 45))
            .padding(.bottom, 15)
        }
    }
}

【问题讨论】:

  • 不清楚。你会以某种方式演示你试图实现的目标吗?
  • 也许您需要ZStack
  • 是的,使用 Stack 效果很好......我之前一直在搞乱它们,无法让它工作,但我做到了,谢谢 :)

标签: swift swiftui positioning overlap


【解决方案1】:

要创建重叠视图,您可以使用ZStack

SwiftUI 具有用于创建重叠内容的专用堆栈类型, 如果您想在图片上放置一些文本,这很有用 例子。它被称为 ZStack,它的工作原理与其他两个相同 堆栈类型 [HStack, VStack]。

在下面的示例中,DatePicker 将放在Rectangle 后面:

ZStack {
    DatePicker(...)
    Rectangle()
}

您可以在本教程中找到更多信息:How to layer views on top of each other using ZStack?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-25
    • 2015-06-23
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多