Размытый текст UILabel в дополнительном представлении MKAnnotationView - PullRequest
1 голос
/ 18 декабря 2009

Я пытаюсь добавить UILabel в MKAnnotationView в виде leftCalloutAccessoryView сразу после того, как в MKMapView был выбран первый вывод. Добавление метки не является проблемой: выноска выбирается и открывается, и это когда я добавляю метку в вид выноски. Выноска автоматически расширяется влево с помощью анимации слайда, и отображается новая метка, включающая 2 строки. К сожалению, мне нужно добавить метку после того, как Пин был выбран, потому что мне сначала нужна определенная информация об этом Пине.

Проблема сейчас в том, что текст на этом ярлыке несколько размыт, как будто он отображается неправильно. Когда я отменяю выбор выноски и выбираю ее снова, все рисуется правильно.

Вот так я добавляю ярлык:
Во время создания MKPinAnnotationView я регистрируюсь в качестве наблюдателя для свойства selected в представлении, так как нет метода делегата для выбора контакта. Когда булавка выбрана в представлении, мой метод наблюдателя запускается и просто добавляет текстовую метку к представлению. (создайте UILabel с 2 строками, чистым фоновым цветом и жирным белым системным шрифтом, установите leftCalloutAccessoryView, освободите метку). Я пробовал setNeedsDisplay, setNeedsLayout и некоторые другие вещи, но, несмотря ни на что, текст на этикетке все еще размыт, пока Пин не будет выбран во второй раз.

Есть идеи, как сделать так, чтобы этот ярлык был нарисован правильно, не размыто?

Заранее спасибо!

1 Ответ

3 голосов
/ 18 декабря 2009

Вы уверены, что ваша метка находится на границе пикселей? Я видел размытость, когда вычислял рамку метки программно и не учел, что мои вычисления могут возвращать нецелое значение для источника.

...