UIbezierpaths в масштабируемом виде

96
6

Я рисую bezierpaths в масштабируемом UIView (слой рисования PDF-ридера). Когда я увеличиваю масштаб документа, изображение UIView тоже увеличивается, но тогда все рисунки и линии выглядят намного более неровными. Есть ли способ визуализировать эти пути без слишком большой пикселизации? Он предположил, что траектории безье являются векторными...


Спасибо заранее!

спросил(а) 2012-07-23T20:59:00+04:00 8 лет, 8 месяцев назад
1
Решение
130

Вы правы, что UIBezierPath основан на векторе. Однако, когда вы рисуете путь к представлению, он использует свойство contentScale на уровне просмотров, чтобы определить количество деталей, которое будет использоваться при рисовании.


Что вы можете сделать, когда пользователь закончит масштабирование, установите масштаб контента на правильную сумму.

drawingView.layer.contentScale = [[UIScreen mainScreen] scale] * zoomAmount;

ответил(а) 2012-07-23T21:21:00+04:00 8 лет, 8 месяцев назад
44

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

ответил(а) 2012-07-23T21:10:00+04:00 8 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема