![](/img/trans.png)
[英]Invalid update: invalid number of rows in section 0 when trying to expand and collapse UITableView sections
[英]SwiftUI app crashes when trying to expand/collapse sections on a sheet
这个想法是,当用户点击标题时,他们会展开并显示控件。
当我展开其中一个部分时,它会崩溃,然后单击 TextField,然后单击不同的部分以使当前部分折叠,而另一个部分展开。
注意事项:
我的代码有什么问题? 或者它是 SwiftUI 中的错误?
我将有问题的代码提炼成最小的工作示例
struct DetailView: View {
@State var name: String = "Default name"
@State var location: String = "Default location"
@State var expanded : Int = -1
var body: some View {
VStack {
Button (action: {self.expanded = 0}) {
HStack {
Text(self.name).font(.caption)
Spacer()
Image (systemName: "chevron.right")
}
}
if self.expanded == 0 {
TextField ("Enter name", text: self.$name)
}
Button (action: {self.expanded = 1}) {
HStack {
Text(self.location).font(.caption)
Spacer()
Image (systemName: "chevron.right")
}
}
if self.expanded == 1 {
TextField ("Enter location", text: self.$location)
}
Spacer()
}.padding()
}
}
struct ContentView: View {
@State var showDetail = false
var body: some View {
NavigationView {
Button ("Detail") {
self.showDetail = true
}.sheet(isPresented: self.$showDetail, content: {DetailView()})
}
}
}
如果有人从谷歌登陆这里,它最终会成为与这里相同的问题SwiftUI iOS 当 state 更改导致键盘在工作表中退出作为第一响应者时应用程序崩溃
然而,在我的例子中,堆栈毫无用处是空的,只有在无数次尝试之后,我才得到一个除了通用的“主”事件循环之外还有ViewRendererHost.render
的堆栈。 果然谷歌搜索它立即产生了上面的链接
向 Apple 报告了此事。 这显然是 SwiftUI 中的错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.