我正在 Swift UI 中构建一个聊天应用程序,当我在“ChatView”中时,我想看到最后写入的消息,因此当消息位于屏幕上(FinalView)时,我需要将视图的滚动放在底部。
这是我正在使用的代码:
ScrollView {
ForEach(self.userController.userMessage.identified(by: \.self)) { message in
if message.from == UserService.currentUserID! {
HStack {
Spacer()
Text(message.message)
.bold()
.foregroundColor(Color.white)
.padding(8)
.background(Color.blue, cornerRadius: 8)
}
} else {
HStack {
Text(message.message)
.bold()
.foregroundColor(Color.white)
.padding(8)
.background(Color.gray, cornerRadius: 8)
Spacer()
}
.offset(y: 8)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何默认将 ScrollView 始终放在底部?
webView我想在新的 SwiftUI 框架内加载一个。我怎样才能做到这一点?
struct SubmissionFlowFrame: View {
var body: some View {
// I want to insert the iframe here
}
}
Run Code Online (Sandbox Code Playgroud) 我收到此错误消息:“编译器无法在合理的时间内对这个表达式进行类型检查;每次尝试构建我的应用程序时,都尝试将表达式分解为不同的子表达式,并且每次构建错误时,都会在不同的视图和代码的不同部分。通常,它显示了我有ForEach或.sheet演示文稿的位置,但是有包含它们的视图,并且它们不会给出错误。这仅在我更新到xCode 11 beta 5时才发生,有人有同样的错误吗?
已经尝试替换视图上的ForEach和.sheet,但是有些视图具有ForEach,并且它们没有给出错误且它们完全相同。
预期的结果在编译时不会出现该错误,但是由于某种原因,它始终显示:'编译器无法在合理的时间中对该表达式进行类型检查;尝试将表达式分解为不同的子表达式