【发布时间】:2020-02-10 11:21:35
【问题描述】:
在列表视图中,会显示消息详细信息视图。
NavigationView() {
List(msgData) { msg in
NavigationLink(destination: MessageDetailsView(msgDetails :msg )) {
VStack(alignment: .leading, spacing: 5)
{
Text(msg.name).font(.system(size: 16)).fontWeight(.semibold).foregroundColor(.black)
}
}
}
.navigationBarTitle(Text("Messages").font(.headline), displayMode: .inline)
.navigationBarHidden(false)
}
下面是消息详情视图
VStack
{
List {
ForEach(chatMsgArray, id: \.self) { chat in
ChatRow(chatMessage: chat)
}
}
}
.navigationBarItems(leading:
Button(action: {
print("Back button pressed...")
}) {
} , trailing:Button(action: {
print("Call button pressed...")
}) {
} )
我需要按两次后退按钮才能进入列表视图。第一次点击时出现以下错误,第二次点击时显示为列表视图。
[TableView] 仅警告一次:UITableView 被告知布局其 可见单元格和其他内容,而不在视图层次结构中 (表视图或其超级视图之一尚未添加到 窗户)。这可能会通过强制表视图中的视图来导致错误 在没有准确信息的情况下加载和执行布局(例如表格视图 边界、特征集合、布局边距、安全区域插入等),以及 由于额外的布局也会导致不必要的性能开销 通过。在 UITableViewAlertForLayoutOutsideViewHierarchy 在 调试器并查看导致这种情况发生的原因,因此您可以避免这种情况 如果可能的话完全采取行动,或者推迟到表格视图有 已添加到窗口。表格视图: <_ttc7swiftuip33_bfb370ba5f1baddc9d83021565761a4925updatecoalescingtableview uitableview clipstobounds="YES;手势识别器">>
【问题讨论】:
-
如果我删除以下行它工作正常。 .navigationBarItems(leading: Button(action: { print("后退按钮被按下...") }) { } , trailing:Button(action: { print("呼叫按钮被按下...") }) { } )
标签: swift swiftui ios13 swiftui-list swiftui-navigationlink