Я пытаюсь реализовать масштабирование CALayer в многоуровневом хостинге NSVIew. NSView со слоем (размер слоя: 1024x768) находится внутри NSScrollView. Для реализации масштабирования я сделал следующее
- (IBAction)zoomOut:(NSButton *)sender {
CALayer *layer = self.editorView.layer;
CGRect frame = layer.frame;
frame.size.width = frame.size.width / 2;
frame.size.height = frame.size.height / 2;
layer.frame = frame;
}
- (IBAction)zoomIn:(NSButton *)sender {
CALayer *layer = self.editorView.layer;
CGRect frame = layer.frame;
frame.size.width = frame.size.width * 2;
frame.size.height = frame.size.height * 2;
layer.frame = frame;
}
После нажатия на кнопку для увеличения или уменьшения масштаба в NSView проблема заключается в том, что всякий раз, когда я прокручиваю NSView (помните, что я помещаю NSView в NSScrollView, и что NSView больше, чем NSScrollView), CALayer автоматически изменяет размер до исходного размера (т.е. 1024x768). Я не могу понять причину.
Любая помощь будет принята с благодарностью.