我正在尝试创建一个水平居中圆的屏幕,该圆大于实际屏幕的宽度。不幸的是,我不知道如何将它水平居中并将其固定在顶部。有没有一种简单的方法可以使用 SwiftUI 实现这样的结果?
struct DemoView: View {
private let circleBackgroundPercentage: CGFloat = 1.3
var body: some View {
ZStack {
GeometryReader { geometry in
VStack(alignment: .center) {
Circle()
.fill(Color.yellow)
.frame(width: geometry.size.width * circleBackgroundPercentage, height: geometry.size.height * circleBackgroundPercentage, alignment: .center)
}
}
Text("Demo")
}.edgesIgnoringSafeArea(.all)
}
}
Run Code Online (Sandbox Code Playgroud)
]
这是解决此类任务的可能方法。
使用 Xcode 12.4/iOS 14.4 准备
var body: some View {
ZStack {
VStack {
Color.yellow
.clipShape(Circle())
Color.clear
}
.scaleEffect(1.8) // << tune factor as needed !!
Text("Demo")
}.edgesIgnoringSafeArea(.all)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
102 次 |
最近记录: |