V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
qtoq126
V2EX  ›  iDev

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

  •  
  •   qtoq126 · 37 天前 · 956 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    我的 XCode 版本是 14.2

    1 条回复    2024-10-21 17:26:54 +08:00
    JasonEWNL
        1
    JasonEWNL  
       37 天前
    看描述如果用 NavigationLink 带 isActive 的方式可以实现只是多了废弃警告觉得不行,可以用 NavigationStack 配合带 isPresented 的 navigationDestination 这一修饰器消除。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5302 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.