我目前正在研究isHidden
课程的UIView
方法。
在Apple documentation中,它提到了
隐藏窗口当前第一响应者的视图导致 视图的下一个有效关键视图将成为新的第一响应者。
我只是想知道,the view's next valid key view
意味着什么?
答案 0 :(得分:1)
导致下一个有效密钥(堆栈的下一个视图)将成为响应者,如果没有任何内容"后面"您隐藏的视图将是超级视图。
答案 1 :(得分:1)
该文档显然遗留在较早的NSView
documentation而不正确。
NSView
是iOS的UIView
的macOS等价物。 NSView
具有nextKeyView
属性,指示当用户选中当前视图时,哪个视图应该获得键盘焦点。 NSView
还有一个计算属性nextValidKeyView
,它是键视图循环中的下一个视图,它接受第一个响应者并且不被隐藏。
UIView
没有nextKeyView
或nextValidKeyView
属性。
此外,在iOS上,隐藏当前第一响应者不导致“视图的下一个有效键视图成为新的第一响应者”,对于“下一个有效键视图”的任何合理定义,因为隐藏的视图仍然是第一响应者。
这是一个演示,记录在运行iOS 10.3.2的真实iPhone 6(不是模拟器)上。 “按钮”切换顶部文本字段的isHidden
属性。
在顶部文本字段中输入“hello”后,点击按钮隐藏该文本字段。键盘仍处于活动状态,但第二个文本字段没有闪烁的插入点。然后我输入“世界”并再次点击按钮。顶部文本字段重新出现,现在它显示“hello world”。当它被隐藏时,它仍然是第一响应者。第二个文本字段(“下一个有效键视图”的唯一可能候选者)没有成为第一响应者。