swift - 单击搜索栏时如何显示单独的视图?[SwfitUI]
问题描述
我正在尝试实现一个显示单独视图的搜索栏(参见 Twitter 示例)。
这是如何实施的?我最初的想法是以某种方式使用 aNavigationView
来环绕搜索栏视图,当用户点击搜索栏时,调用NavigationLink
会调出单独的视图。
但这是正确的方法吗?Twitter 示例似乎没有显示NavigationView
像“< Back”按钮这样的元素,动画过渡也不匹配。
解决方案
FocusState
是一个状态,但它设置了一个变量。因此,您可以.onChange(of:perform:)
像这样关闭该更改。
struct ContentView: View {
@FocusState var isFocused: Bool
...
var body: some View {
TextField("TextField", text: $text)
.focused($isFocused)
.onChange(of: isFocused, perform: { newValue in
print("focus")
})
...
}
}
如果您在 other 上使用它,它将不起作用TextFields
,但会触发它。
推荐阅读
- c++ - 在 emplace() 中创建对象时复制省略
- java - 使用 Java 8 按字符串属性对列表进行排序
- c# - 将 json 转换为对象时出现错误
- list - prolog 匹配项从列表到谓词
- c# - 在回发的会话中保持 ListBox 选择
- r - 使用带有变量标签的 rvest 进行抓取
- javascript - 加载页面时Javascript旋转圆圈动画不会停止
- spring - Spring @Value 使用通配符
- firebase - 如何使用 Firebase Node.js SDK 创建长期存在的令牌
- r - Plot predicted values from lmer longitudinal analysis