Xcode 9 (SceneKit 기술이 적용된 macOS 게임)에서 새로운 프로젝트를 시작합니다. 나는 과 NSWindow
및 관련 GameViewController
과 SCNView
을 포함하는 스토리 보드를 가지고 있습니다. 프로젝트가 잘 실행됩니다 (비행기를 돌립니다).Xcode 9 스토리 보드 창 위치 자동 저장
이제 스토리 보드에서 NSWindow
의 "MainWindow"로 자동 저장 값을 설정하고 프로젝트를 실행 한 다음 창 크기를 조정하고 종료하십시오. 나는 자동 저장에 대한 설정과 창 위치가 NSUserDefaults
을 사용하여 저장됩니다 종료 것을 알고, 그래서 터미널 체크인 : 예상 된 동작 것
$ defaults read com.koati.Bloks ⏎
{
"NSWindow Frame MainWindow" = "415 228 450 322 0 0 1280 777 ";
}
. 이제 프로젝트를 다시 실행하지만 창 위치가 복원되지는 않습니다. 스토리 보드에서 GameViewController
관계를 제거하면 위치가 저장되고 올바르게 복원되므로 GameViewController
은 어떻게 든 창 크기와 위치에 영향을 미친다 고 가정합니다. XIB가있는 이전 Xcode에는 이러한 문제가 없었습니다.
편집 : 몇 가지 검사를하고 일부 후, 나는 지금이 NSViewController
이 같은 결과를에 NSView
와 SCNView
교체로, 모든 SceneKit 관련이 없습니다 생각합니다. 그래서 문제는 NSViewController
이 스토리 보드를 통해 NSWindow
에 연결되어있어 윈도우 위치와 크기에 영향을 미친다는 것입니다.
아마도이 문제를 해결하는 방법을 아는 사람이 있습니까?
동일한 문제가 발생하여 귀하의 관찰에 동의합니다. 나는이 문제에 대한 테스트 프로젝트를 가지고있다. 템플릿의 기본값 : 창 ->보기 컨트롤러 ->보기는 위치와 크기를 유지합니다. Window-> Split View Controller-> View로 바꾸면 위치 및 크기가 보존되지 않습니다 (항상 기본 위치 및 크기로 돌아 감). Window-> View Controller-> View-> Container View-> Split View Controller-> View를 다시 수행하면 크기와 위치가 보존됩니다. –