2013-06-04 2 views
0

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

Для этой цели я использовал следующее заявление.

CGContextRotateCTM(currentContext, RADIANS(-5)); 

Благодарения и

enter image description here

ответ

0

Попробуйте включить сглаживание перед вращением:

CGContextSetShouldAntialias(currentContext, true); 
0

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

+0

Можете ли вы предоставить код для этого? – Developer

+0

Добавление и импорт Пусть Ваше мнение резюме теперь используют cv.layer.borderWidth = 1; // ширина рамки в пикселях cv.layer.borderColor = [UIColor clearColor] .CGColor; – Ashim

2

Это помогает, если вы установили shouldRasterize = true для слоя вашего вида.

yourView.layer.shouldRasterize = true 

Когда значение этого свойства является истинным, слой отображается как растрового изображения в локальной координатном пространстве, а затем смешан с назначения с любым другим контентом. Теневые эффекты и любые фильтры в свойства фильтров растеризованы и включены в растровое изображение. Однако текущая непрозрачность слоя не растрируется. Если растровое растровое изображение требует масштабирования во время компоновки, фильтры в применяются свойства minificationFilter и magnificationFilter при необходимости.

+1

Это относится только к преобразованиям, применяемым к слоям. OP использует чертеж Quartz (CoreGraphics). –

+0

Это действительно обычное решение, когда вы делаете что-то вроде ** whitePanel.transform = CGAffineTransform.init (rotationAngle: -d) ** – Fattie

Смежные вопросы