如何将信息按钮添加到OSX(而不是ios)应用程序中的mapkit注释中

时间:2015-09-15 16:34:54

标签: macos swift mapkit mapkitannotation

我正在尝试为OS X应用程序创建mapkit注释,默认行为不显示“信息”按钮。在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应用程序中不可用 - 除非这是我正在制作的新手错误。感谢您的帮助 - 我已经磕磕绊绊了几天而无处可去。

2 个答案:

答案 0 :(得分:1)

我想出的答案是:

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

view.rightCalloutAccessoryView = theButton

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

答案 1 :(得分:1)

此代码适用于我:

view.rightCalloutAccessoryView = UIButton(type: .DetailDisclosure) as UIView