问题标签 [geometryreader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 有没有办法使用几何阅读器将我的 SwiftUI 图像的宽度定义为相对于屏幕尺寸?
我正在通过一个示例应用程序来熟悉 Swift 和 SwiftUI,并希望使用自定义视图和 GeometryReader 结合复合布局的想法来确定设备的屏幕大小。
我正在尝试构建的页面是一个可滚动的朋友列表,其中每个行项都是一个按钮,可以选择该按钮来展开列表以查看每个朋友的更多详细信息。我已经构建了按钮和所有包含视图,FriendView
以便在我的FriendListView
. 我在其中定义了 2 个GeometryReader
视图,FriendListView
但不知道如何从其中定义每行的大小FriendView
以使其保持适当的大小。
对此的需求来自于并非用户稍后可以为他们的朋友设置的每个图像都具有相同的尺寸,因此我希望保持一致。我知道我可以设置一个.frame()
修饰符并对宽度进行硬编码,但我希望它与屏幕相关,以便在所有手机屏幕上保持一致。
示例:当一行未展开时,图像应占设备宽度的一半。当它展开时,我希望它占据设备屏幕宽度的四分之一。
截屏
示例代码
ios - 检测 GeometryReader SwiftUI 背景上的点击手势
我有一个主视图,并且在该视图中我有一个位于 GeometryReader 中的小弹出菜单,如下所示:
行~~~.background(Color.black.opacity(0.65))~~~ 本质上是在制作背景(即不在弹出视图中的视图的每个部分,有点暗。我想做这样的事情:
但不支持此语法。有什么办法可以做到这一点吗?本质上,我想要它,以便当我在 GeometryReader 之外单击时,我可以切换一个变量(在这种情况下,摆脱弹出视图)。
我尝试在主视图上制作一个 TapGesture 识别器,但由于 GeometryReader 是主视图的一部分,所以当我点击 GeometryReader 弹出视图本身时,它就会消失。
有什么方法可以完成类似于我上面写的代码的事情吗?
谢谢
ios - SwiftUI - 过渡动画在 GeoReader 中不起作用?
我有这样的代码:
DeletePost 警报的定义如下:
但是,由于某种原因,过渡动画不起作用。我试图让 DeletePostAlert() 淡入或滑入或其他东西,但到目前为止我尝试过的一切都没有奏效。我也尝试过类似 .animation(.spring()) 的方法,但无济于事。
任何关于我在这里做错的指导将不胜感激。
谢谢
xcode - “类型‘()’不能符合‘视图’;只有结构/枚举/类类型可以符合协议”
编辑:问题的解释
此代码产生一个错误,发布者不知道如何解决它。
这是上一篇文章的新编辑。
我在 >Geometry Reader 上收到错误消息。这篇文章包括所有代码。这篇新帖子包括所要求的注册和登录代码。我希望它是可读的格式。我做了一些更正,希望对您有所帮助。代码如下:
ios - 为什么 GeometryReader 的主体会被评估两次?也是第一次尺寸为零?
我有一个嵌套在 NavigationView 中的 GeometryReader。在 GeometryReader 内部,我使用 GeometryProxy 提供的尺寸和 if 语句。在我的项目中,我偶然发现了一个事实,即 GeometryReader 中的内容被评估了两次,并且第一次提供的尺寸是宽度 0 和高度 0。此外,if case 内的内容的 onAppear() 方法被调用两次,这会导致更多问题。
有人可以解释这种行为,以便我可以改进我的代码吗?
我做了一个最小的例子来展示这个问题:
在横向的 iPad 上,我得到以下控制台输出:
swift - 为什么几何阅读器不将其孩子居中?
目前使用 Xcode12 Beta 3
我想用这段代码将文本放在中心
但我得到了这个结果,这意味着文本占用了整个几何尺寸,我认为这是不正确的!因为文本必须适合它们的空间
@twostraws 为布局系统建议的三个角色是
1-父母提供其大小
2-child 选择它的大小
3-parent 定位它的孩子
但我认为这是不对的!