2012-10-12 23 views
0

标题几乎可以解释它。可能吗?我试图这样分配它:使用BarButtonItem作为MKPinAnnotationView的leftCallOutAccessoryView?

UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAnnotation:)]; 
pinView.leftCalloutAccessoryView = leftButton; 

我也尝试将它作为UIButton和作为UIView铸造。我想要这个的主要原因是因为我想要那个已经整合在UIBarButtonSystemItemSave中的小保存按钮。我怎样才能做到这一点?

回答

0

不,这是不可能的,主要是因为UIBarButtonItem不是UIView一个子类。

它投射到一个UIButtonUIView不起作用,因为铸造不转换对象从一种类型到另一个。它只是让你通知了一些变量可以被视为一些其他类型的编译器(如果该变量是不是真的,其他类型的,你会得到一个异常,也只是将无法正常工作)。

UIBarButtonItemUIBarItem一个子类(这是NSObject一个亚类),并且仅在一个或UIToolbarUINavigationBar设计的。

我不建议尝试把一个UIToolbar的标注只使用UIBarButtonItem
Here's a look-alike workaround using UISegmentedControl但分段控制可能会不正确的标注无论是。

我建议在自定义图片或按钮类型UIButtonTypeContactAdd(带加号的蓝色圆圈)上使用常规UIButton

+0

我最终作出与UIBUttonTypeCustom一个UIButton有quicklymade savebutton的图像。谢谢。 – Martol1ni