
输入工具栏底部固定意图为聊天、编辑器或快捷操作使用底部固定的输入栏且无需与键盘对抗。核心模式使用.safeAreaInset(edge: .bottom)将工具栏锚定在键盘上方。将主要内容保持在ScrollView或List中。用FocusState驱动焦点并在需要时设置初始焦点。避免将输入栏嵌入滚动内容中保持其独立。示例滚动视图 底部输入MainActorstructConversationView:View{FocusStateprivatevarisInputFocused:Boolvarbody:someView{ScrollViewReader{_inScrollView{LazyVStack{ForEach(messages){messageinMessageRow(message:message)}}.padding(.horizontal,.layoutPadding)}.safeAreaInset(edge:.bottom){InputBar(text:$draft).focused($isInputFocused)}.scrollDismissesKeyboard(.interactively).onAppear{isInputFocusedtrue}}}}应保留的设计选择让输入栏与可滚动内容在视觉上分离。对类似聊天的界面使用.scrollDismissesKeyboard(.interactively)。确保发送操作可通过键盘回车键或清晰的按钮触达。陷阱避免将输入视图放在滚动堆栈内部它会随内容跳动。避免嵌套滚动视图争抢拖动手势。