1

我正在尝试在 MKMapView 中第一次选择引脚后将 UILabel 作为 leftCalloutAccessoryView 添加到 MKAnnotationView。添加标签不是问题:标注被选中并打开,这是我将标签添加到标注视图的时候。标注通过幻灯片动画自动向左扩展,并显示包含 2 行的新标签。不幸的是,我需要在选择 Pin 后添加标签,因为我首先需要有关该 Pin 的某些信息。

现在的问题是这个标签中的文本有些“模糊”,就像它没有正确呈现一样。当我取消选择标注并再次选择它时,一切都正确绘制。

这是我添加标签的方式:
在创建 MKPinAnnotationView 期间,我注册为视图的“选定”属性的观察者,因为没有用于选择引脚的委托方法。当在视图中选择引脚时,我的观察者方法会触发并简单地将文本标签添加到视图中。(用2行创建UILabel,背景颜色清晰,系统字体加粗,设置leftCalloutAccessoryView,释放标签)。我尝试了setNeedsDisplay、setNeedsLayout和其他几个东西,但无论如何,在第二次选择Pin之前,标签中的文字仍然模糊。

知道如何在不模糊的情况下正确绘制此标签吗?

提前致谢!

4

1 回答 1

3

您确定您的标签位于像素边界上吗?当我以编程方式计算标签框并且没有考虑到我的计算可能会返回原点的非整数值时,我看到了模糊性。

于 2009-12-18T14:33:03.227 回答