Проблема с положением NSWindow после изменения ContenView - PullRequest
1 голос
/ 16 июня 2011

в моем приложении у меня есть одно NSWindow и разные CustomViews ... моя цель просто изменить contenView окна. Я поместил главное окно в центре экрана с помощью кнопки, и после нажатия кнопки был выполнен следующий код

[mainWindow setFrame:[mainView frame] display:TRUE animate:TRUE];
[mainWindow setContentView:mainView];

это просто отлично работает, но после изменения размера окно находится в левом нижнем углу экрана .. я хочу, чтобы он оставался в центре экрана

когда я использую

[mainWindow center];

он переместится в левый нижний угол и после изменения размера перейдет к центру ... что совсем нехорошо, он должен просто оставаться в середине экрана

1 Ответ

2 голосов
/ 25 августа 2011

Причина, по которой ваше окно перемещается в левый нижний угол, заключается в том, что [mainWindow setFrame:[mainView frame] display:YES animate:YES]; [mainView frame].origin равен NSZeroPoint, пока у него нет суперпредставления.Если вы хотите, чтобы ваше окно оставалось по центру, вам нужно setFrameOrigin:.Я рекомендую использовать NSMidX() и NSMidY() для вычисления смещения от центра экрана.

...