2015-09-17 2 views
1

У меня есть uiview B, который должен быть увеличенной частью другого uiview A (область вокруг «touchPoint» увеличена). При изменении «touchPoint» я хочу, чтобы B обновил его отображение. У меня есть следующая функция в B и она обновляется (когда я вызываю B.setNeedsDisplay()), но она сохраняет старое содержимое как-то видимым, как увядшее фоновое изображение. Вы, ребята, знаете, почему старый контент все еще появляется, и почему этот бледный эффект? Это потому, что область, которую я увеличиваю, имеет прозрачный фон? Как это исправить?Как правильно обновить uiview увеличенный и переведенный с CGContextScaleCTM и CGContextTranslateCTM

override func drawRect(rect: CGRect) 
    { 
     let context: CGContextRef = UIGraphicsGetCurrentContext() 
     CGContextTranslateCTM(context,1*(self.frame.size.width*0.5),1*(self.frame.size.height*0.5)) 
     CGContextScaleCTM(context, 1.5, 1.5) 
     CGContextTranslateCTM(context,-1*(touchPoint.x),-1*(touchPoint.y)) 
     viewToMagnify.layer.renderInContext(context) 
    } 

Я хотел бы, чтобы разместить изображение, но у меня нет достаточно StackOverflow указывает еще ... :-)

Спасибо за любые советы!

ответ

0

Нашел ответ на мой вопрос.

Контекст увеличенного изображения должен быть очищен в начале функции DrawRect, со следующим:

CGContextClearRect(context, rect)

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