可以在 NSTextView 中加下划线,但不能加粗文本
Can underline, but not bold text in NSTextView
我使用 Xcode 中的向导创建了一个 NSDocuments 和故事板应用程序 8. 在 ViewController 场景中,我添加了一个 NSTextView。某些菜单项被禁用,例如粗体和斜体。
查看 First Responder,粗体和斜体的操作不存在。我应该自己写这些方法吗?这是由于没有正确设置响应者链吗?为什么有下划线但没有加粗?
编辑:添加图像以显示如何使用检查器栏编辑文本,但“格式”菜单未显示我期望的命令。
此问题有历史(?)原因。
当在 xib 文件中创建主菜单时,xib 文件自动包含一个 NSFontManager 实例,并且像 Bold 这样的菜单项连接到它。
然而在现代故事板中,没有预设的 NSFontManager 实例。
那么,您可以按照以下步骤将它们手动连接到 FontManager。
- 在Application场景中创建一个普通的Object实例(蓝色立方体)。
- 将 Object 实例的 class 更改为 NSFontManager。
- 将菜单项连接到 fontManager 的
addFontTrait(_:)
操作。同样,将 "Bigger" 和 "Smaller" 项连接到 modifyFont(_:)
。
您还需要设置 menuItems 的标签,但实际上它们已经设置好了。仅当 menuItem 的标签为 0
.
时,也手动设置对应标签
如果您按住 Ctrl 从菜单项拖动到第一响应者,在菜单视图中,您会得到相同的选项,只需按住 Ctrl 单击即可。然后你实现你刚刚连接的任何功能。如果您将文件 > 新建连接到 newDocument 并在您的 ViewController
中实施
func newDocument(_ sender: Any?){
print("func newDocument(_ sender: Any? \(String(describing: sender)))")
}
它会被调用。 First Responder 列出了所有与添加的对象相同的方法,NSFontManager 为 class。我没有在方法前面使用@IBAction,因为我没有连接它。
我使用 Xcode 中的向导创建了一个 NSDocuments 和故事板应用程序 8. 在 ViewController 场景中,我添加了一个 NSTextView。某些菜单项被禁用,例如粗体和斜体。
查看 First Responder,粗体和斜体的操作不存在。我应该自己写这些方法吗?这是由于没有正确设置响应者链吗?为什么有下划线但没有加粗?
编辑:添加图像以显示如何使用检查器栏编辑文本,但“格式”菜单未显示我期望的命令。
此问题有历史(?)原因。 当在 xib 文件中创建主菜单时,xib 文件自动包含一个 NSFontManager 实例,并且像 Bold 这样的菜单项连接到它。 然而在现代故事板中,没有预设的 NSFontManager 实例。
那么,您可以按照以下步骤将它们手动连接到 FontManager。
- 在Application场景中创建一个普通的Object实例(蓝色立方体)。
- 将 Object 实例的 class 更改为 NSFontManager。
- 将菜单项连接到 fontManager 的
addFontTrait(_:)
操作。同样,将 "Bigger" 和 "Smaller" 项连接到modifyFont(_:)
。
您还需要设置 menuItems 的标签,但实际上它们已经设置好了。仅当 menuItem 的标签为 0
.
如果您按住 Ctrl 从菜单项拖动到第一响应者,在菜单视图中,您会得到相同的选项,只需按住 Ctrl 单击即可。然后你实现你刚刚连接的任何功能。如果您将文件 > 新建连接到 newDocument 并在您的 ViewController
中实施func newDocument(_ sender: Any?){
print("func newDocument(_ sender: Any? \(String(describing: sender)))")
}
它会被调用。 First Responder 列出了所有与添加的对象相同的方法,NSFontManager 为 class。我没有在方法前面使用@IBAction,因为我没有连接它。