我正试图在MKMapView中第一次选择一个引脚后立即将一个UILabel添加到一个MKAnnotationView作为leftCalloutAccessoryView。添加标签不是问题:标注被选中并打开,这是我将标签添加到标注视图的时候。使用幻灯片动画将标注自动扩展到左侧,并显示包含2行的新标签。不幸的是,我需要在Pin被选中后添加标签,因为我首先需要有关该Pin的某些信息。
现在的问题是这个标签中的文字有些“模糊”,就像它没有正确呈现一样。当我取消选择标注并再次选择它时,一切都被正确绘制。
这是我添加标签的方式:
在创建MKPinAnnotationView期间,我注册为视图的“selected”属性的观察者,因为没有用于选择引脚的委托方法。在视图中选择该引脚后,我的观察者方法将触发并简单地将文本标签添加到视图中。 (用2行创建UILabel,清晰的背景颜色和粗体白色系统字体,设置leftCalloutAccessoryView,释放标签)。我尝试了setNeedsDisplay,setNeedsLayout和其他一些东西,但无论如何,在第二次选择Pin之前,标签中的文字仍然模糊不清。
我知道如何在不模糊的情况下正确绘制这个标签吗?
提前致谢!
答案 0 :(得分:3)
您确定您的标签位于像素边界吗?当我以编程方式计算标签框架而没有考虑到我的计算可能会返回原点的非整数值时,我看到了模糊性。