相关疑难解决方法(0)

FocusState Textfield 在工具栏 ToolbarItem 中不起作用

让我解释一下,我有一个带有 SearchBarView 的父视图,我正在传递这样的焦点状态绑定。

   SearchBarView(searchText:$object.searchQuery, searching: $object.searching, focused: _searchIsFocused 
Run Code Online (Sandbox Code Playgroud)

这完美地@FocusState var searchIsFocused: Bool按照父视图中定义的方式将其传递给 SearchBarView (子视图)。在父级中,我可以检查值的变化,一切正常。

问题依赖于当在父级中我有 SearchBarView.toolbar {}ToolBarItem(). 什么也没有发生,焦点的值没有改变,等等。我的 SearchBarView 在顶部导航栏中,但仍然想在那里使用它..但我需要能够知道它何时处于焦点状态。如果我在任何 VStack 或其他东西中使用,一切都很完美..

-- 编辑 -- 提供更多代码来测试

搜索栏视图

struct SearchBarView: View {
@Environment(\.colorScheme) var colorScheme
@Binding var searchText: String
@Binding var searching: Bool
@FocusState var focused: Bool


 var body: some View {
     ZStack {
         
         Rectangle()
             .foregroundColor(colorScheme == .dark ? Color("darkSearchColor") : Color.white)
             .overlay(
                     RoundedRectangle(cornerRadius: 13)
                        .stroke(.black.opacity(0.25), lineWidth: 1)
             )


         HStack {
             Image(systemName: "magnifyingglass").foregroundColor( colorScheme == …
Run Code Online (Sandbox Code Playgroud)

state focus view swift3 swiftui

8
推荐指数
0
解决办法
563
查看次数

标签 统计

focus ×1

state ×1

swift3 ×1

swiftui ×1

view ×1