1

我正在尝试为 OS X 应用程序创建一个 mapkit 注释,并且默认行为不显示 Info 按钮。在 iOS 应用程序中,我将使用以下内容:

view.rightCalloutAccessoryView = UIButton.buttonWithType(.DetailDisclosure) as! UIView

在 OS X 应用程序中,没有 UIButton - 我不认为答案是加载 UIKit 框架,但是是吗?还有其他方法吗?NSButton 没有 Info 或 DetailDisclosure 类型。

更多研究:Apple 的 Mac Developer Library 声明 MKAnnotationView 的rightCalloutAccessoryView属性:

此属性默认设置为 nil。右侧标注视图通常用于链接到有关注释的更详细信息。为此属性指定的常见视图是 UIButton 对象,其类型设置为 UIButtonTypeDetailDisclosure。

如果您指定的视图也是 UIControl 类的后代,您可以使用地图视图的委托在您的控件被点击时接收通知。如果它不是从 UIControl 派生的,则您的视图负责处理其范围内的任何触摸事件。

看来我需要 UIKit,但它在 Mac 应用程序中不可用 - 除非这是我正在犯的新手错误。感谢您的帮助-我已经为此绊倒了几天,但一无所获。

4

1 回答 1

1

我想出的答案是:

var theButton: NSButton = NSButton()
theButton.setButtonType(NSButtonType.MomentaryPushInButton)

view.rightCalloutAccessoryView = theButton

它没有给我我正在寻找的信息按钮,但是有了按钮,我应该能够自定义它以生成类似的东西。

于 2015-09-16T23:51:36.190 回答