CGAffineTransforms на NSViews - PullRequest
       29

CGAffineTransforms на NSViews

2 голосов
/ 05 июля 2011

Я пытаюсь перенести некоторый код iOS в Mac OS X. Однако у меня возникают проблемы при переносе,

CGAffineTransform transform = CGAffineTransformMakeRoatation(-b->GetAngle());    
oneView.transform = transform

Как мне этого добиться?NSView не имеет свойства преобразования.

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Вы все еще можете использовать преобразования.

Убедитесь, что ваш вид поддерживается слоем, установив setWantsLayer: для вашего вида значение YES.

После этого вы можете просто установить аффинное преобразование слоя:

CGAffineTransform transform = CGAffineTransformMakeRotation(-b->GetAngle());    
[[oneView layer] setAffineTransform: transform];
0 голосов
/ 31 августа 2011

Единственный способ повернуть NSView с основной анимацией - это

[myView setFrameCenterRotation:angle]

, но будьте осторожны при использовании этого метода.это работает правильно, только если myView добавлен в суперпредставление.Вы можете отследить это, переопределив метод – viewWillMoveToSuperview:

Наслаждайтесь)

...