Я испытываю очень странную проблему.
Прежде всего, мое приложение перемещает элементы пользовательского интерфейса по экрану с помощью следующей команды:
[view setFrame:NSRectFromCGRect(CGRectMake(0, 0, 0, 0))];
Я даю своим пользователям возможность изменить размер NSWindow приложения до другого размера с помощью этой команды:
[self.window setFrame:NSRectFromCGRect(CGRectMake(0, 0, 0, 0)) display:YES animate:YES];
В «режиме изменения размера» я, очевидно, меняю каждую отдельную команду setFrame
на соответствующую систему координат.
Однако существует проблема: когда (если) пользователь переключается на исходный размер NSWindow, снова нажимая кнопку, и приложение снова выполняет перемещения пользовательского интерфейса, перемещаемые представления не находятся в том месте они должны быть внутри.
Для пояснения: мой код движения пользовательского интерфейса работает отлично, снова и снова, либо в обычном режиме, либо в режиме изменения размера. Однако, если я переключаюсь с одного на другое, некоторые элементы (не все) сдвигаются.
Что может быть причиной этого странного поведения? Я использую те же самые точные команды (в пределах каждого разрешения экрана), и NSLogs подтверждают, что элементы пользовательского интерфейса находятся в месте, которое я указал; однако это местоположение явно не то, к которому я пытаюсь перейти.
Кто-нибудь сталкивался с подобной проблемой здесь?