我正在尝试将图像设置为背景并在整个屏幕上重复它。在 UIKit 中,它就像这行代码一样简单:
view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
SwiftUI 中有等效的吗?
var body: some View {
HStack {
VStack {
Spacer()
}
Spacer()
}
.background(
Image("background") // Need this pattern image repeated throughout the page
)
}
最简单的方法是使用调整大小修饰符并将调整大小模式设置为
Image.ResizingMode.tile
。
Image("background")
.resizable(resizingMode: .tile)
旧线程,但由于该线程在 Google 搜索中显示较高,并且由于
.resizable(resizingMode: .tile)
不适用于系统符号,因此从 iOS 15 开始,我们可以执行以下操作:
struct ContentView: View {
var body: some View {
Rectangle()
.foregroundStyle(.image(
Image(systemName: "questionmark.circle")
))
.font(.system(size: 50))
}
}
完全归功于我发现的这篇博文:https://fatbobman.com/en/posts/how-to-tile-images-in-swiftui/