У меня есть голый проект, созданный в Xcode как приложение SpriteKit / GameScene. Я хочу установить размер окна программно. Я прочитал много ответов здесь и несколько учебных пособий в других местах, но ничего из того, что я прочитал, не помогло.
Этот ответ говорит о переопределении WindowController.windowDidLoad
, но GameScene не дает мне WindowController
. Это дает мне ViewController
. Этот учебник говорит, что вы можете позвонить self.view.window?.setFrame()
из ViewController.viewDidLoad()
, но мое окно упорно остается тем же размером. Ряд ответов, которые я нашел на SO, говорят об автоматическом макете. Мне нечего выкладывать. Это просто стартовый проект SpriteKit.
В этом ответе говорится, что вы можете установить preferredContentSize
в ViewController.viewWillAppear()
, и это действительно позволяет мне установить размер окна, но если я сделаю окно слишком большим (потому что мне нужно было угадать допустимый размер), он не перетаскивается и не изменяется. В этом ответе говорится, что вы можете получить правильный размер из view.bounds.size
, но там написано 800 x 600, что далеко не соответствует размеру моего экрана. В этом ответе говорится, что вы можете получить границы от UIScreen.mainScreen().bounds.size
, но мой стартовый проект GameScene / SpriteKit, похоже, не содержит каких-либо UIScreen
.
Как узнать размер экрана и как программно установить размер и положение окна?
Кроме того, в одном из других ответов, которые я, похоже, больше не могу найти, говорится, что вы должны удалить GameScene.sks
, что я и сделал, и все выглядит нормально, за исключением размера.