У меня есть приложение IOS, которая сводится к следующему:перерисовка текста на увеличенном UIImageView после масштабирования
- контроллер вида, который реализует все
UIScrollViewDelegate
метод. - Индивидуальный номер
UIImageView
который является видом, возвращеннымviewForZoomingInScrollView
в первом контроллере.
В drawRect
методе настраиваемой UIImageView
я накладывать текст на различных позициях на изображении, текст может быть различных размеров и углов, стесненных в виде прямоугольника, определенного точками на изображении. Таким образом, система координат по отношению к изображению связана с UIImageView
.
Иногда текст необходимо визуализировать в областях, которые слишком малы, чтобы текст мог быть доступен для чтения при уровне масштабирования по умолчанию.
Однако, когда я увеличиваю масштаб, это не делает текст более удобным для чтения, поскольку текст был нанесен на оригинал UIImageView
с размером шрифта, соответствующим границам, которые он дал.
Что мне нужно - это как-то перерисовать этот текст в правильном месте по-прежнему с пропорционально большим размером шрифта при увеличении. Возможно ли это и как мне это сделать?
Я изменил свой метод рисования, чтобы использовать UILabels вместо этого, но это так же расплывчато с ними, можете ли вы просветить меня, что вы сделали в '- (void) scrollViewDidEndZooming: (UIScrollView *) scrollView withView: (UIView *) просмотреть метод atScale: (float) scale, который не размыл их? –
setNeedsDisplay на всех ваших ярлыках должно хватить –
Нет кубиков!Я покорно назвал 'setNeedsDisplay' на каждом из лейблов, и они вообще не меняют внешний вид - есть ли еще какой-то другой шаг, который вы предположили, что я сделал? Мои 'UILabel' добавлены в представление, которое было увеличено, а не' UIScrollView'. Затем я заканчиваю «setNeedsDisplay» на каждом из них после завершения маневра масштабирования. –