Macos NSAccessibilityRadioButton在Swift 4中的实现
我正在尝试创建一个NSAccessibilityRadioButton元素,但我得到。。。比如说一个意外的错误。这就是我正在做的Macos NSAccessibilityRadioButton在Swift 4中的实现,macos,swift4,appkit,Macos,Swift4,Appkit,我正在尝试创建一个NSAccessibilityRadioButton元素,但我得到。。。比如说一个意外的错误。这就是我正在做的 我有一个NSAccessibilityElement的基类: class AccessibilityElementPrototype: NSAccessibilityElement { . . . } 我有另一个类,它应该实现NSAccessibilityRadioButton协议,如下所示: class AccessibilityElementTab
class AccessibilityElementPrototype: NSAccessibilityElement {
.
.
.
}
class AccessibilityElementTab: AccessibilityElementPrototype, NSAccessibilityRadioButton {
func accessibilityValue() -> NSNumber? {
...
}
}
如果有人已经遇到了这样的问题并有了解决方案,请分享。我真的很高兴你问这个问题,因为我觉得我疯了 令人难以置信的是,一些NSACCESS协议在Swift中被破坏了。我已经打开了苹果的一个漏洞,我鼓励你也这样做。同时,解决这个问题相当容易,只是不方便 您可以直接使用NSView方法来实现相同的结果:
view.setAccessibilityRole(...)
view.setAccessibilityElement(true)
@objc override func accessibilityValue() -> Any? {
...
}
不要忘记将AccessibilityElement属性设置为true。起初我不知道这是必要的,也不明白为什么什么都没有出现。可访问性检查器的显示忽略的元素在这方面帮助了我。这真是难以置信。。。。10倍的人。因为这是到目前为止唯一的解决方案,所以我将把答案标记为正确-并且它是正确的;-)