- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 NSPopover
窗口,我想向其中添加触摸栏支持。我已经成功实现了对标准 NSWindow
的触摸栏支持,但是对我的弹出框执行相同的过程不会导致任何触摸栏项目出现在 xCode 触摸栏模拟器中。
我正在 NSViewController
中实现 makeTouchbar
和 NSTouchBarDelegate
,它以 NSPopover
的形式呈现。 makeTouchBar
和委托(delegate)函数正在被调用,但触摸栏中没有显示任何内容(在下面的代码块中,触摸栏和提示都在记录)。
我担心 NSPopover 窗口不会触发触摸栏作为事件应用程序,即使它具有键盘焦点。如何显示 NSPopover
窗口的触摸栏项目?
//MARK: Touch bar
@available(OSX 10.12.1, *)
override func makeTouchBar() -> NSTouchBar? {
Swift.print("Touchbar.")
let touchBar = NSTouchBar()
touchBar.delegate = self
touchBar.customizationIdentifier = .touchBar
touchBar.defaultItemIdentifiers = [.tbHint, .colourC]
return touchBar
}
@available(OSX 10.12.1, *)
extension RememberViewController: NSTouchBarDelegate {
func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem? {
switch identifier{
case NSTouchBarItemIdentifier .tbHint:
Swift.print("hint")
let buttonView = NSCustomTouchBarItem(identifier: identifier)
let button = NSButton(title: "Hint", target: self, action: #selector(showHint))
buttonView.view = button
return buttonView
case NSTouchBarItemIdentifier .colourC:
let colorPicker: NSColorPickerTouchBarItem
colorPicker = NSColorPickerTouchBarItem.colorPicker(withIdentifier: identifier)
colorPicker.customizationLabel = "Color Picker"
colorPicker.target = self
colorPicker.action = #selector(showHint)
return colorPicker
default:
return nil
}
}
}
最佳答案
查看 NSTouchBar Catalog Sample来自苹果。最新版本有一个完全适合您的用例的示例。它称为背景窗口(您必须通过构建的应用程序中的窗口菜单显示它)。
他们正在 Storyboard中加载带有 NSPopover segue 的 BackgroundImagesViewController
并创建 NSTouchBar,如下所示:
@available(OSX 10.12.2, *)
class BackgroundImagesViewController: NSViewController {
override func makeTouchBar() -> NSTouchBar? {
let touchBar = NSTouchBar()
touchBar.delegate = self
touchBar.customizationIdentifier = .scrubberBar
touchBar.defaultItemIdentifiers = [.imageScrubber]
touchBar.customizationAllowedItemIdentifiers = [.imageScrubber]
touchBar.principalItemIdentifier = .imageScrubber
return touchBar
}
}
最好的办法是查看 Apple 的示例文件。
关于macos - Touchbar 和 NSPoover 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40493349/
我有一台带触控条的 Macbook 15in,每次我从 XCode(Cocoa 应用程序)构建或运行测试时,都会弹出触控条模拟器。这会干扰我的 UI 测试,因为它会阻止点击 View 。让它消失!如何
我正在尝试创建一个代理应用程序来为现有的闭源应用程序提供触摸栏功能。我可以通过 API 与应用程序进行通信,但我的触摸栏在未聚焦时会消失。 在 NSTouchBar 文档中它说: On support
我试图寻找这个问题的答案,但似乎看不到任何相关信息。 我的笔记本电脑上有一个软件(不是我写的),我想对其进行自定义。我做的一些任务非常重复,只需按下 Touch Bar 上的一个按钮即可执行多个命令,
我有一个 NSPopover 窗口,我想向其中添加触摸栏支持。我已经成功实现了对标准 NSWindow 的触摸栏支持,但是对我的弹出框执行相同的过程不会导致任何触摸栏项目出现在 xCode 触摸栏模拟
我想知道 chrome 扩展程序或 chrome 应用程序是否可以与新的 macbook pro touchbar 通信? 我正在考虑为 safari 中的触摸栏(在 chrome 的情况下)引入相同
我想知道 Web 应用程序是否有可能使用触摸栏(如 JS api)。 触摸条将是浏览网站的绝佳方式,Apple 的员工肯定也注意到了这一点。 仍然,我找不到 API 的任何踪迹。 最佳答案 Here
我正在编写一个 mac 应用程序,我想支持触摸栏。我有一个分屏 Controller ,其中一个 View 是一个 AVPlayer。 AVPlayer 自动创建用于暂停和播放等的触摸条按钮。如何删除
如何在仅使用 Xcode Playgrounds 的情况下实现 NSTouchBar?我意识到 NSTouchBar 及其附带的方法包括 makeTouchBar() 包含在 NSResponder
我是一名优秀的程序员,十分优秀!