2013-09-12 3 views
0

Я наткнулся на проблему, которая действительно не должна быть слишком сложной для выяснения. Однако после большого количества проб и ошибок я все еще не создаю решение. У меня есть CALayer, созданный с помощью CGRectMake (20, 20, 40, 40). Теперь я хочу масштабировать этот слой вверх, добавляя определенные значения к frame.size.height и frame.size.width, но когда я это делаю, слой масштабируется вниз. Я пробовал модифицировать anchorPoint, поворачивая слой на 180 градусов ++, но не повезло. Понравился бы некоторый вклад в этом.Масштабирование CALayer снизу. (Не верх)

Спасибо.

Что я хочу против Что я получаю:

What I want What I get

+0

Вы играли с 'geometryFlipped' собственности на вашем CALayer? –

+0

Спасибо за ваш ответ. Я тоже экспериментировал с этим, но не повезло! – fisher

ответ

0

Вам просто нужно изменить у происхождение вашего слоя в то же время, что вы изменить высоту. Я не знаю точно, что ваш код выглядит, но если вы берете старую рамку и приложения постоянного изменения ширины и высоты, как это:

CGRect newFrame = oldFrame; 
newFrame.size.width += kWidthChange; 
newFrame.size.height += kHeightChange; 
_myLayer.frame = newFrame; 

тогда вам просто нужно еще одну линию, например:

newFrame.origin.y -= kHeightChange; 

Прежде чем переназначить рамку слоя.

enter image description here

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