Swift 更改cocoa应用程序中的选项卡顺序(焦点)
我有一个包含4个文本字段tf1-tf4的简单视图 我想将初始焦点设置在tf2上,这样就可以了 然后我想,tf1获得焦点,然后tf2再次-这不起作用,焦点在所有4个文本字段中循环 我试着这样做:Swift 更改cocoa应用程序中的选项卡顺序(焦点),swift,cocoa,focus,responder-chain,Swift,Cocoa,Focus,Responder Chain,我有一个包含4个文本字段tf1-tf4的简单视图 我想将初始焦点设置在tf2上,这样就可以了 然后我想,tf1获得焦点,然后tf2再次-这不起作用,焦点在所有4个文本字段中循环 我试着这样做: override func viewWillAppear() { super.viewWillAppear() tf2.becomeFirstResponder() tf2.nextKeyView = tf1 tf1.nextKeyView = tf2 } 我的错在哪里?谢谢@Willek
override func viewWillAppear()
{ super.viewWillAppear()
tf2.becomeFirstResponder()
tf2.nextKeyView = tf1
tf1.nextKeyView = tf2
}
我的错在哪里?谢谢@Willeke:
它适用于以下情况:
override func viewWillAppear()
{ super.viewWillAppear()
tf2.nextKeyView = tf1
tf1.nextKeyView = tf2
self.view.window!.initialFirstResponder = tf2
}
不要呼叫
成为第一响应者
。“使用NSWindow makeFirstResponder:方法(而不是此方法)将对象设为第一个响应程序。切勿直接调用此方法。”将窗口的initialFirstResponder
设置为tf2
。设置NSWindows firstResponder的最佳位置是哪里?”?视图是否也会显示为OK?如何在viewcontroller中获取窗口?谢谢带有:self.view.window!。initialFirstResponder=tf2工作正常