首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >文本未显示,但onAppear触发器

文本未显示,但onAppear触发器
EN

Stack Overflow用户
提问于 2019-07-15 08:01:51
回答 1查看 501关注 0票数 0

我正在尝试在HStack和VStack中使用forEach。我在它们中使用文本,运行时文本不会出现,但onAppear打印值。请看一下我的代码。为什么文本不显示?我怎么才能让它工作呢?

代码语言:javascript
复制
@State var sd = ["1","2","3","4","5","6","7"]

VStack {
    ForEach(0...sd.count/3) { _ in
        HStack {
            ForEach(0...2) { _ in
                if(self.sd.isEmpty) {
                } else {
                    Text("Test")
                        .onAppear() {
                            if(!self.sd.isEmpty) {
                                print("i appeared")
                                self.sd.removeFirst()
                            }
                    }
                }
            }
            Spacer()
        }
    }
}

我在这里想要实现什么?

我正在尝试创建一个最多3个文本在它的HStacks。我在这里只使用数组来渲染文本7次。

具有7个元素的数组的预期结果->

我想创建一个3 HStacks的VStack,在第一个2 HStacks我想渲染文本3次,在最后的HStack我只想要一个文本。(比如我有7个数组元素,这就是为什么前两个hstack中有3个文本,最后一个hstack中有一个文本)。如果数组有10个元素,那么3个Hstack包含3个文本,last Stack包含1个文本。我无法呈现文本,因为我的数组是@state var,每次我从其中删除firstElement时,它都会刷新view.body。

有没有办法实现这个行为,我正在尝试通过只使用SwiftUI来实现。我不想使用UICollection视图。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57032007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档