如何实现当点击 NavigationLink 进入子视图的时候,键盘会自动收起,并且返回主视图时,键盘也不再自动弹出

62 天前
 qtoq126

主视图是有个Form,有多个Section,其中有TextField,也有NavigationLink,我通过@FocusState的变量,设置了当进入主视图时候,自动弹出 keyboard ,方便用户直接在TextField里输入相关内容。

但是当我保持键盘不收起,点击Section中的NavigationLink进入子视图时候,发现我通过各种方法,都实现不了在进入子视图的同时,键盘自动收起(但是我看了好几个官方 Apple 的 App ,比如提醒事项 App ,是可以做到的)

键盘不自动收起,就导致了我从子视图返回到主视图时候,键盘会再次自动弹出,而且还会触发控制台的Unable to simultaneously satisfy constraints报错

问了 GPT ,提供的几种方式,都不行,比如通过simultaneousGestureNavigationLink里加isActive(被弹警告该方法以后可能会被移除)

有没有 iOS 开发的兄弟见过这种问题?

我的 XCode 版本是 14.2

1073 次点击
所在节点    iDev
1 条回复
JasonEWNL
62 天前
看描述如果用 NavigationLink 带 isActive 的方式可以实现只是多了废弃警告觉得不行,可以用 NavigationStack 配合带 isPresented 的 navigationDestination 这一修饰器消除。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1082186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX