У меня очень простое приложение для macOS (написано на Swift с использованием Xcode 8.2.1). В моем основном пользовательском интерфейсе есть NSButton с пользовательским изображением (оно представляет собой игральную карту, как в покере). Когда я нажимаю эту кнопку, я хочу, чтобы ее изображение было повернуто на 180 градусов (перевернуто вверх дном).
Я новичок в аффинных преобразованиях, но я подумал, что это может сработать (это не так).
@IBAction func buttonClicked(_ sender: NSButton) {
var transform = sender.layer?.affineTransform()
transform = transform?.rotated(by: 180.0 * (CGFloat.pi / 180))
sender.layer?.setAffineTransform(transform!)
}
Карта поворачивается правильно, но рисуется в новом месте.
Как правильно повернуть изображение кнопки на 180 градусов, сохраняя при этом его положение в родительском статике?