SwiftUI Mac定位视图绝对位于其他视图内

时间:2020-03-02 09:37:19

标签: swift xcode macos swiftui

我试图将一个视图绝对定位在Mac OS的SwiftUI的另一个视图内。

我基本上有一个VStack,里面有一个ScrollView / List。如何将绝对视图放置在角落。即使窗口缩小,它也应该留在那里。它甚至可能与ListView的内容重叠。

我真的不知道该怎么做。目前,我使用了另一种方法,先使用新的VStack,然后再使用Spacer(),然后在底部将新的HStack放在右边,并将项目右对齐。这有效,但基本上不会重叠。视图是分开的。

这是一个演示。。。我想实现那个黄色圆圈。基本上可以是图像或其他视图。

enter image description here

即使窗口变小,它也会停留在那儿:

enter image description here

这是我使用的代码...这只是带有内容的简单滚动视图。

    ScrollView(content: {


        HStack
        {
            Spacer()
            Text("Test Test TestTest Test TestTest Test Test")
            Spacer()
        }
        ...




    }).frame(maxWidth: .infinity, maxHeight: .infinity)
        .background(Color(.red))

1 个答案:

答案 0 :(得分:5)

可以ZStack如下使用

struct TestCircleWithList: View {
    var body: some View {
        ZStack(alignment: .bottomTrailing) {
            ScrollView(content: {
                HStack
                {
                    Spacer()
                    Text("Test Test TestTest Test TestTest Test Test")
                    Spacer()
                }
            }).frame(maxWidth: .infinity, maxHeight: .infinity)
                .background(Color(.red))
            Circle().fill(Color.yellow)
                .frame(width: 80, height: 80)
                .padding(20)
        }
    }
}
相关问题