如何将焦点设置到 NSButton?

2024-04-07

I'm writing a small menubar application for OS X Yosemite. When clicking on the menubar icon, a popover appears with a number of recessed buttons. Like so: enter image description here

正如您所看到的,尽管默认选择 d20,但“d4”按钮已获得焦点。单击任何其他按钮不会改变“d4”按钮的焦点。移动对焦环的唯一方法是通过 Tab 键。

这是弹出视图控制器中的我的代码:

import Cocoa

class DiceRollerViewController: NSViewController {

    var result: Int = 0

    var currentNumberOfSides = 20

    @IBOutlet weak var rollButton: NSButton!

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func sidesButtonSelected(sender: NSButton?) {
        for view in self.view.subviews as [NSView] {
            if let btn = view as? NSButton {
                if btn.tag == 1 {
                    if btn != sender {
                        btn.state = 0
                    }
                    else {
                        btn.state = 1
                    }
                }
            }
        }
    }

    @IBAction func rollDice(sender: AnyObject?) {
        willChangeValueForKey("result")
        result = DiceRoller.rollDice(numberOfRolls: 1, numberOfSides: 20)
        didChangeValueForKey("result")
    }

}

以及相关的AppDelegate代码:

func showPopover(sender: AnyObject?) {
        if let button = statusItem.button {
            popover.showRelativeToRect(button.bounds, ofView: button, preferredEdge: NSRectEdge.MinY)
        }
    }

总而言之,我试图去掉单击弹出窗口时自动出现的聚焦环。但是,出于可访问性的原因,我不想删除通过选项卡聚焦的功能。


尝试覆盖viewWillAppear()做出“滚!”通过执行以下操作来按钮第一响应者:

if theRollButton.acceptsFirstResponder {
    self.view.window.makeFirstResponder(theRollButton)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将焦点设置到 NSButton? 的相关文章

  • 在另一种语言中使用 dateFormatter [重复]

    这个问题在这里已经有答案了 我正在运行一段返回的代码nil在具有不同语言设置的 iPhone 上运行时 代码示例如下所示 let dateFormatter DateFormatter dateFormatter dateFormat MM
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • Swift 中具有透明背景的按钮边框

    我怎样才能做一个UIButton边框看起来像下图 入门 按钮一样具有透明背景吗 我应该如何使用情节提要来实现这一点 或者如何以编程方式实现这一点 设置backgroundColor to clearColor使按钮透明 例如尝试下面的代码
  • Xcode 3.1.4 中内置分析器

    我想知道 Xcode 3 1 4 中内置的分析器是否使得单独使用 LLVM Clang 静态分析器变得多余 请参考这里的原文 使用 LLVM Clang 静态分析器查找内存泄漏 http www fruitstandsoftware com
  • 如何处理 Xcode“嵌入应用程序扩展”构建阶段

    通过添加新目标创建 共享扩展 时 Xcode 在应用程序目标设置的应用程序 构建阶段 选项卡中添加名为 嵌入应用程序扩展 的构建阶段 可以删除此阶段 但如果您尝试通过按左上角的 来添加它 您会发现可用选项中未列出 嵌入应用程序扩展 为什么会
  • 在 UIView 中实现自定义 StaggereGrid,就像 SWIFT 中的 Etsy 应用程序一样

    我想实现一个像 Etsy 应用程序一样的 StaggeredGrid 但我对此一无所知 你能给我一些建议吗 这是我需要做的事情的屏幕截图 None
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • NSPredicate 的 onFormat 字符串

    我想用 id 键对数据进行排序 我如何理解格式字符串的用途NSPredicate格式 我有一个100号的帖子 我的代码 let objectIDs posts map 0 id let predicate NSPredicate forma
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • dispatch_write() 和dispatch_read() 用法

    我只是在玩一些 GCD 函数来向文件写入和读取数据 其中两个函数是dispatch write and dispatch read 它允许向文件描述符写入和读取数据 而无需设置新的dispatch io t渠道 所以 我有以下代码 impo
  • 在 swift 中获取 NSImage 的 PNG 表示

    嘿 我在获取 NSImage 对象的 PNG 表示时遇到了一些问题 这就是我正在做的 var imgData NSData coverImgView image TIFFRepresentation var bitmap NSBitmapI
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • 快速将阴影绘制到 uibezierpath

    我有一个奇怪的问题 尽管我确实阅读了很多有关如何执行此操作的教程 但最终结果仅显示贝塞尔线 而不显示任何阴影 我的代码非常简单 let borderLine UIBezierPath borderLine moveToPoint CGPoi
  • MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession

    我正在尝试实施新的ASWebAuthenticationSession在 MacOS 10 15 中 我对callbackURLScheme 头文件为ASWebAuthenticationSession says 回调 URL 通常具有自定
  • 删除 UINavigationBar 下的 1px 边框 - 不起作用

    IBOutlet var navBar UINavigationBar self navBar setBackgroundImage UIImage forBarMetrics UIBarMetrics Default self navBa
  • macOS Pluginkit 输出中的前缀是什么意思?

    执行中pluginkit match在终端中产生以下输出 跳过不重要的行 com apple ncplugin weather 1 0 com apple share SinaWeibo post 1 0 H com apple Inter
  • 使用 Webkit 的调试版本运行 Safari

    我通过运行以下命令编译了 webkit 的调试版本 工具 脚本 build webkit debug 成功构建后 我尝试通过运行以下命令来使用已编译的 Webkit 调试版本来运行 safari sudo Tools Scripts run
  • WKWebView:无需 Javascript 即可缩放PageToFit 行为

    如何获得scalesPageToFit显示在 HTML 内容中的行为WKWebView 不使用 JavaScript 在我们的例子中需要禁用 JS 抱歉没有发布任何代码 但我不知道如何实现这一目标 我所知道的和我找到的所有解决方案都是基于J
  • AudioPlayer 和锁屏/控制中心控制 Swift [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我是斯威夫特的新手 我写信是因为我想问一个问题 我和我的朋友正在开发一个音频播放器 但我们遇到了问题 播放器还可以在后台
  • 将文本拆分为数组,同时保留 Swift 中的标点符号

    我想将文本拆分为一个数组 保持标点符号与其余单词分隔开 因此字符串如下 Hello I am Albert Einstein 应该变成这样的数组 Hello I am Albert Einstein 我尝试过sting components

随机推荐

  • 为什么 Linux 重定向会截断文件?

    我有一个名为 test txt 的文件 如下所示 hello world 它只是一个 hello world 字符串 如果我使用 perl 正则表达式 perl pe s hello bye g test txt it says bye w
  • 使用 itextsharp 使用数据库中的图像创建 pdf

    我有一个过程 其中 html 与图像链接存储在数据库中 图像也存储在数据库中 我创建了一个从数据库读取图像的控制器操作 我生成的路径是这样的 File Image path Root test jpg 该图像路径嵌入在 html 的 img
  • 使用自定义配置在调试模式下运行 sbt 项目

    我想使用特殊配置在我的 sbt 0 11 项目中引入调试模式 我尝试使用以下代码来实现这一点 但不幸的是 它似乎没有按预期工作 我正在启动debug run但运行并未按预期暂停 object Test extends Build lazy
  • 如何在 Windows 10 上解锁詹金斯

    我使用下载的 msi 在我的 Windows 10 机器上安装了 jenkins 它安装得很好 现在启动了浏览器 提示我使用初始管理员密码解锁詹金斯 我在任何地方都找不到这个文件 我查看了安装目录 C Program Files x86 J
  • 在 ControllerAdvice 之前捕获反序列化异常

    这是一个问题 我有一个采用输入模型的控制器 可以说 public class AppUserUpdateData NotNull Size min 1 max 50 protected String login JsonDeserializ
  • 处理 String.getBytes("UTF-8") 中的 UnsupportedEncodingException 的推荐方法

    建议的处理方式是什么不支持的编码异常 http docs oracle com javase 6 docs api java io UnsupportedEncodingException html在库方法中调用 String getByt
  • 如何更改 Paginator 的页面名称?

    Current Paginator正在使用 page N 但我想用别的东西 我怎样才能改变成这样 sida N反而 我看过Illuminate Pagination Environment并且有一个方法 setPageName 在那里改变它
  • 从浏览器调用 Android 应用程序

    我一直在尝试从浏览器调用我的应用程序安卓 3 1 蜂窝 这些是我尝试过的链接 但没有一个有效 a href click me 1 a a href click me 2 a a href click me 3 a 对于第一个和第二
  • 鼠标悬停/悬停效果在 IE8 上缓慢

    我注意到在 IE8 中 当在包含许多行 本例中为 100 行 的表上使用鼠标悬停事件时 性能会出现奇怪的情况 我尝试了很多不同的方法 但我似乎找不到任何方法来按照我喜欢 需要的速度获得它 如果我在每个事件上切换类 则所有 IE 版本的性能都
  • 为什么 JavaScript 在普通浏览器中没有自己的线程?

    JavaScript 不是多线程还不够 显然 JavaScript 甚至没有自己的线程 而是与大量其他东西共享一个线程 即使在大多数现代浏览器中 JavaScript 通常也与绘画 更新样式和处理用户操作处于同一队列中 这是为什么 根据我的
  • 使用 Joda Time 进行 Grails 控制器单元测试

    当我有一个带有 Joda LocalDateTime 字段的域对象时 一些生成所有创建的控制器测试失败 grails create app bugdemo cd bugdemo grails create domain class Item
  • 立即返回弹簧网通量

    我正在尝试创建应该返回 201 响应的框架 当向 API 发出请求时 我想立即发回响应并在后台处理该请求 Flux fromIterable request getApiRequests log flatMap item gt WebCli
  • 正确的 Javascript 继承

    我想知道是否可以在javascript中继承构造函数 在下面的例子中 我想要Moveable分派x and y论点this x and this y分别如我所定义Sprite 另外 在不创建祖先实例的情况下定义原型的最佳方法是什么 但仍然简
  • Django 无法加载静态文件

    对 django 来说是全新的 在我的 settings py 文件中 我有 STATIC URL static INSTALLED APPS django contrib admin django contrib auth django
  • 如何将我的 Sqlite 数据库移植到 GAE?

    我的本地硬盘中有一个 SQLite 格式的数据库 我希望将数据库升级到 GAE 以便我可以使用它来创建某些很酷的网络应用程序 我已经四处浏览寻找一种方法来做到这一点 然而 大多数可用的项目都是将GAE中的数据库备份到我的本地硬盘 是否有现有
  • 将 Clojure 函数作为 java.util.Function 传递

    正如在主题中一样 我想使用一个以 Function 作为参数的 Java 方法 并为其提供一个Clojure函数 无论是匿名函数还是常规函数 任何人都知道如何做到这一点 java util function Function是一个接口 您需
  • 如何向 jfreechart 创建的图表添加缩放功能

    我使用 jfree 绘制了 XY 图表 现在我想为其添加缩放功能 这必须使用图表底部的滑块来完成 如何添加 Windows 照片查看器中提供的缩放功能 另外 当用户将鼠标悬停在绘制的线上时 我想将图表的当前 Y 值显示为工具提示 我没有得到
  • redirect_uri 不属于应用程序

    类似的问题和答案都没有解决我的问题 我有两个 Facebook 应用程序 一个是另一个的测试版本 因此它们几乎相同 我测试时没有任何问题 但在实时应用程序上 我收到 redirect uri 不属于应用程序 错误 这个申请就是一个很好的例子
  • 矢量化和尴尬并行之间有什么关系?

    这个问题说明了一切 在我看来 矢量化与令人尴尬的并行问题密切相关 换句话说 所有可矢量化的程序都必须是极其并行的程序 它是否正确 对令人尴尬的并行性的快速总结 一个代码是尴尬地平行如果代码可以毫不费力地并行化 特别是处理数据依赖性 请注意
  • 如何将焦点设置到 NSButton?

    I m writing a small menubar application for OS X Yosemite When clicking on the menubar icon a popover appears with a num