swift - 如何在 SwiftUI 中将 GeometryReader 实现到(Z/H/V)堆栈
问题描述
无法为 ZStack() 实现 GeometryReader。下面是一个 GeometryReader 到 Text() 的实现示例:
GeometryReader { geometry -> Text in
return Text("test")
}
但是当我尝试用 ZStack(或 Rectangle 或 HStack)做同样的事情时,我看到了:
GeometryReader {pr -> HStack<Rectangle> in
return HStack() {
Rectangle()
.foregroundColor(Color.red)
}
}
请检查此错误消息:https ://ibb.co/BBxScg8
解决方案
GeometryReader 为您提供了一个在 HStack / VStack 等内部使用的变量。
GeometryReader { geo in
HStack() {
Rectangle()
.foregroundColor(Color.red)
.onTapGesture {
print("width : \(geo.size.width), height : \(geo.size.height)")
}
}
}
推荐阅读
- xml - 增加 Tab 和 TabLayout 之间的间隙
- c# - 将“MM/yy”转换为日期时间c#
- ios - 日期格式无法正常工作 - 字符串到日期的转换
- processing - 如何在两个类之间进行碰撞?
- python - 是否可以在 Libreoffice Calc 中使用 Selenium WebDriver?
- git - 如何在 git 中删除不再需要的分支?
- sql - 从嵌套集中获取子父对
- sql - 将平面文件导入 SQL Server - 是否存在某种大小/单元格限制?
- c++ - 附加二进制数
- visual-studio-code - 在 Windows 和 Unix 之间同步 VS Code 键盘快捷键