如何使用SwiftUI复制外观粗糙的笔记应用程序背景?

时间:2019-06-16 20:40:29

标签: ios swift swiftui

如果您查看Notes.app,则可以看到视图背景不是平坦的,并且具有粗糙的纹理,我想为正在使用SwiftUI开发的应用程序复制此视图但我不知道该怎么做。

enter image description here

1 个答案:

答案 0 :(得分:0)

这是我的纹理视图:

struct RoughTextureView: View {
    var body: some View {
        Image("texture")
            // Note: a resizable Image will fill its superview
            .resizable(capInsets: EdgeInsets(), resizingMode: .tile)
    }
}

...其中texture是此50x50图片:

enter image description here

这是使用方法:

struct ContentView: View {

    var body: some View {
        NavigationView {
            ZStack {
                RoughTextureView()
                    //...so it goes underneath the navigation bar
                    .edgesIgnoringSafeArea(.top)
                ScrollView {
                    ForEach(0...100) { noteNumber in
                        HStack {
                            Text("Awesome note #\(noteNumber)")
                                .frame(height: 20)
                                .padding()
                        }
                    }
                }
                //...so it doesn't overlap with the navigation bar
                .offset(x: 0, y: 20)
            }
            .navigationBarTitle(Text("My Notes").font(.largeTitle))
        }
    }

}

使用ZStack将其放在所有视图的下方。

结果

enter image description here