public var body: some View
{
ZStack{
GeometryReader { geometry in
RoundedRectangle(cornerRadius: 25, style: .continuous)
.frame(width: geometry.size.width*1.00, height: geometry.size.height*1.00)
.zIndex(0)
}
}
}
我正在使用GeometryReader绘制一个圆角的矩形来填充整个手表屏幕,在38mm的手表模拟器上看起来不错,但是当我将手表尺寸增加到40、42、44mm时,我注意到高度并没有填满整个屏幕。我必须将倍数调整为例如1.1,以填满更多屏幕。
有人可以告诉我我是否正确使用了GeometryReader?
答案 0 :(得分:0)
除非您真的需要几何读取器的全部功能来实际测量屏幕对象的大小,否则我认为您可以通过设置框架的maxWidth
和{{1 }}到maxHeight
,并忽略底部的安全区域。
.infinity
请注意,当您使用var body: some View {
ZStack {
RoundedRectangle(cornerRadius: 25, style: .continuous)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.edgesIgnoringSafeArea(.bottom)
}
}
时,项目的顺序将确定屏幕上的顺序。堆栈中的第一个项目将在底部,然后每个项目将在顶部分层。