使用UIBarButtonItem作为MKPinAnnotationView的左侧CallOut附件视图?

时间:2012-10-12 10:18:29

标签: iphone ios uibutton uibarbuttonitem mkpinannotationview

标题几乎解释了它。可能吗?我试图像这样分配它:

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

我也尝试将其作为UIButton和UIView进行投射。我想要这个的主要原因是因为我希望在UIBarButtonSystemItemSave中已经集成了一个小的savebutton。我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

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

将其投放到UIButtonUIView不起作用,因为投射不会将对象从一种类型转换为。它只是让你通知编译器一些变量可以被视为其他类型(如果该变量不是那种其他类型,你会得到一个异常,或者它只是不起作用)。

UIBarButtonItemUIBarItem的子类(NSObject的子类),仅适用于UIToolbarUINavigationBar。< / p>

我建议您不要尝试将UIToolbar放入标注中以使用UIBarButtonItem
Here's a look-alike workaround using UISegmentedControl但分段控件在标注中可能看起来不正确。

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