CGAffineTransformMakeScale какао? - PullRequest
0 голосов
/ 26 июня 2011

Как я могу использовать CGAffineTransformMakeScale в какао? На iPhone я делаю так:

something.transform = CGAffineTransformMakeScale(2, 2);

Но как я могу это сделать на MAC?

Ответы [ 2 ]

2 голосов
/ 26 июня 2011

CGAffineTransform, включая все связанные вспомогательные функции, работает в Mac OS X так же, как и в iOS.

Вам необходимо установить связь с платформой Core Graphics или Application Services и импортировать заголовок для того, на который вы ссылаетесь.

NSView не имеет свойства transform, как у UIView, поэтому если в вашем примере something было UIView, вам придется вместо этого отправлять NSView сообщение scaleUnitSquareToSize:.

1 голос
/ 26 июня 2011

Ваш вопрос неясен.Функция CGAffineTransformMakeScale доступна на Mac и работает точно так же, как на iOS.Он является частью инфраструктуры служб приложений, поэтому вам необходимо добавить эту инфраструктуру в проект и импортировать ее с помощью:

#import <ApplicationServices/ApplicationServices.h>

Если, с другой стороны, вы имеете в виду просмотр преобразований, то наMac, NSView объекты по умолчанию не защищены слоями и не имеют свойства transform.

Если вы создаете представление слоя с поддержкой слоев, то вы можете получить доступ к объекту представления CALayer через layer свойство представления, и затем вы можете применить преобразование к нему:

aView.layer.transform = CATransform3DMakeScale(2.0, 2.0, 0.0);

Обратите внимание, что как iOS, так и Mac OS X используют CATransform3D структуры для своих свойств преобразования слоя.Если вы хотите установить преобразование слоя на CGAffineTransform, вам нужно использовать метод ‑setAffineTransform: для CALayer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...