我已阅读this文件。看到this SO问题(在others中)。并查看this教程。但对于我的生活,我不能让我的自定义故事板segue工作。我正在使用this SO答案中的代码来引入新视图及其控制器。
基本上,在初始视图中向用户显示5个按钮,单击任何一个按钮将导致另一个视图从左侧滑入。一切正常,放置在新视图上的任何curl
都会获得点击并执行他们应该做的事情。但是,文本字段完全无法访问:您可以选择任何文本但不能覆盖。
我假设我没有正确地将新的视图/视图控制器注入到响应器链中(但是为什么按钮工作而文本字段没有?)。
明智地使用
NSButtons
和
self.resignFirstResponder()
总是返回true。我已将它们放在新视图的各种初始生命周期函数中以及动画结尾处的实际自定义newViewController.becomeFirstResponder()
中。
如果segue是预设的工作表,模态,弹出窗口或其他什么,那么新视图会收到所有操作/输入就好了。所以这绝对是我的代码。
我知道这不是好形式但是我很生气:有人可以使用Swift提供一步一步的例子吗?
[编辑] Arghhhh!似乎是因为我在我的应用程序窗口中取消选中“标题栏”然后拒绝接受第一响应者。惭愧,我非常喜欢没有标题的干净的窗户......
答案 0 :(得分:0)
在我的情况下,我希望应用程序窗口中没有标题栏。如果在故事板窗口的“IB属性”部分中取消选中“标题栏”选项,则需要对NSWindow进行子类化并覆盖canBecomeMain
和canBecomeKey
:
import Cocoa
class BTVWindow: NSWindow {
override var canBecomeKey: Bool{
get {
return true
}
}
override var canBecomeMain: Bool{
get {
return true
}
}
}