SwiftUI基础之如何让图片铺满全屏幕

假设咱们有个图片但愿铺满全屏该如何操做呢?bash

首先设置背景

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack{
            CircleImage(imageName: "lilly")
                .frame(width:160,height:160)
                .padding(.top,89)
                .padding(.bottom,20)
     
        }
        .background(
            Image("lotus")
                .resizable()
                .scaledToFill()
              
        )
        
    }
}
复制代码

效果不尽人意,没有铺开 spa

Jietu20200129-155328@2x.jpg

而后将容器撑满全屏

咱们的能够使用Spacer()将VStack撑开code

struct ContentView: View {
    var body: some View {
        VStack{
            CircleImage(imageName: "lilly")
                .frame(width:160,height:160)
                .padding(.top,89)
                .padding(.bottom,20)
            Spacer()
        }
        .background(
            Image("lotus")
                .resizable()
                .scaledToFill()
             
        )
        
    }
}
复制代码

效果还能够,可是刘海儿和底部尚未铺上。cdn

Jietu20200129-155413@2x.jpg

使用edgesIgnoringSafeArea 铺满整个屏幕

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack{
            CircleImage(imageName: "lilly")
                .frame(width:160,height:160)
                .padding(.top,89)
                .padding(.bottom,20)
            Spacer()
        }
        .background(
            Image("lotus")
                .resizable()
                .scaledToFill()
                .edgesIgnoringSafeArea(.all)
        )
        
    }
}
复制代码

最终效果

Jietu20200129-160228@2x.jpg

更多SwiftUI教程和代码关注专栏