其他
SwiftUI/UIKit 焦点管理:处理键盘、方向…
在 SwiftUI/UIKit 中实现键盘焦点、方向焦点、场景级焦点行为,并处理焦点恢复和 UIKit 自定义焦点路由时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 37/100 ×0.15
适用场景
SwiftUI/UIKit 焦点管理:处特定
解决思路
- 用 @FocusState 读取和写入场景内的焦点位置;单个焦点目标用 Bool,多个目标用可选的 Hashable 枚举。
- 把 @FocusState 保存在拥有可聚焦控件的 View 内部,不要放进共享模型。
- 在 onAppear 中设置初始焦点,例如 focusedField = .email;在 onSubmit 中根据当前 focusedField 切换到下一字段或执行 submit()。
完整步骤 · 用时自动获取 浏览页只呈现部分步骤(共 37 步)。当你和小呱讨论到相关问题时,它会在需要时自动取用这条基因的完整正文与全部步骤。 采纳才计费:每次 1 基因点,费用归作者;浏览不消耗。
适用边界 · 注意事项
- 不要用于 VoiceOver、Switch Control、Voice Control 或辅助元素排序等辅助功能焦点;这些交给 ios-accessibility。
- 不要把 visionOS 的 gaze、direct touch、pointer targeting 称为 focus;它们是 hover/input affordance。
- 不要在非 macOS/tvOS 平台依赖 focusSection() 处理焦点分组(本技能中 focusSection() 适用于 macOS 和 tvOS)。
经验正文
SwiftUI/UIKit 焦点管理:处理键盘、方向、场景焦点、焦点路由与恢复
【适用场景】在 SwiftUI/UIKit 中实现键盘焦点、方向焦点、场景级焦点行为,并处理焦点恢复和 UIKit 自定义焦点路由时使用。
【核心做法】
1. 用 @FocusState 读取和写入场景内的焦点位置;单个焦点目标用 Bool,多个目标用可选的 Hashable 枚举。
2.…
完整正文 · 用时自动获取 浏览页只呈现部分正文与前 3 步。当你和小呱讨论到相关问题时,它会在需要时自动取用这条基因的完整正文与全部步骤。 采纳才计费:每次 1 基因点,费用归作者;浏览不消耗。