-1

在此处输入图像描述我需要在此聊天气泡视图之上添加一个视图,例如 Instagram 表情符号反应。我们称之为 EmojiView。它需要始终位于聊天气泡的左下角或右下角。但是聊天气泡的大小会随着其中的文本数量而变化。所以我需要根据上面的气泡大小来定位 EmojiView。

但是我没有明确的方法来读取那个气泡的大小。GeometryReader 占用了所有可用空间,这在这种情况下是个问题。如果我将文本包装在 GeometryReader 中,它会占用所有高度空间,并且我没有可靠的高度空间可供读取。如果我用 修改 GeometryReader .aspectRatio(.fit),高度就等于宽度。如果我将任何地方设置为.fixedSize() ,则聊天气泡不再适应文本大小。所以请分享一个可靠的方法来阅读这个几何

请帮助解决这个问题

没有 GeometryReader,我无法读取几何图形

使用 GeometryReader,我无法获得可靠的高度读数

4

1 回答 1

1

没有必要使用 GeometryReader.


使用ZStack并将EmojiView对齐到bottomTrailingbottomLeading取决于要显示它的底侧。

            ZStack(alignment: .bottomLeading) {
                HStack {
                    Text("I need to add a view on top of this chat bubble view, like an Instagram emoji reaction. Let's call it EmojiView. It will need to always be in the bottom left or right corner of the chat bubble. But the chat bubble's size will vary with how much text is in it. So I need to position EmojiView based on the size of the bubble it is on top of.")
                        .background(Color.secondary)
                        .padding()
                }
                Text("RABBITS")
                    .padding(8)
                    .background(Color.blue)
                    .padding(20)
            }


于 2021-02-22T09:12:28.913 回答