【发布时间】:2019-09-10 14:00:34
【问题描述】:
我正在 SwiftUI 中制作一个简单的视图,一个带有一条线的框。这是(工作)代码:
struct DrawLine: View {
let boxSize = CGFloat(300.0)
var body: some View {
ZStack {
Rectangle()
.stroke(lineWidth: 2.0)
.fill(Color.purple)
.frame(width: self.boxSize, height: self.boxSize, alignment: .center)## Heading ##
GeometryReader { geometry in
Path { path in
path.move(to: CGPoint(x: 1, y: 1))
path.addLine(to: CGPoint(x: geometry.size.width - 1, y: geometry.size.height - 1))
}
.stroke(lineWidth: 2)
.fill(Color.orange)
}
}
.frame(width: 50, height: 50).border(Color.black)
}
}
效果很好,如下所示:
但是,如果我用框架 (.frame(width: 50, height: 50)) 取出定义 ZStack 的位,则该行将占据整个屏幕,如下所示。这是为什么呢?
【问题讨论】:
标签: swiftui