相关疑难解决方法(0)

基于NSSplitViewController的应用程序几乎从不以正确的大小启动

我有这个应用程序使用一个NSSplitViewController作为根,并 NSTabViewController作为其detailViewController连接.

此应用程序将设置为1024x768启动.左侧窗格应以320x768启动,右侧窗格(tabViewController所在的位置)应在704x768处启动.

我运行这个应用程序10次,9次将以不正确的大小(约500x500)启动.其他奇怪的是这个应用程序不应该是可扩展的,但如果你将鼠标悬停在窗口边框附近,你会看到光标指示要缩放.

我希望它以正确的大小启动,并且没有可扩展的选项.

这两个设置都在界面构建器上,但被忽略.

您可以在此处下载演示此问题的示例项目.多次停止并运行项目以查看问题.

我该如何解决这个问题?

macos cocoa nstabviewcontroller nssplitviewcontroller

8
推荐指数
1
解决办法
2468
查看次数

如何以编程方式为 OSX 上的 SpriteKit/GameScene 应用程序设置窗口大小和位置

我在 Xcode 中创建了一个简单的项目作为 SpriteKit/GameScene 应用程序。我想以编程方式设置窗口大小。我在这里阅读了很多答案,并在其他地方阅读了一些教程,但我读过的内容都没有帮助。

这个答案讨论了重写WindowController.windowDidLoad,但 GameScene 没有给我一个WindowController. 它确实给了我一个ViewController. 本教程说您可以self.view.window?.setFrame()从调用ViewController.viewDidLoad(),但我的窗口顽固地保持相同的大小。我在 SO 上找到的许多答案都谈到了自动布局。我没有什么可布置的。这只是一个 SpriteKit 入门项目。

这个答案说你可以设置preferredContentSizein ViewController.viewWillAppear(),这实际上让我设置窗口大小,但如果我让窗口太大(因为我必须猜测合法的大小),它就不可拖动或调整大小。这个答案说你可以从 获得正确的尺寸view.bounds.size,但它说 800 x 600,这与我的屏幕尺寸相差甚远。这个答案说你可以从 获取边界UIScreen.mainScreen().bounds.size,但我的 GameScene/SpriteKit 启动项目似乎没有任何类型UIScreen

如何获取屏幕尺寸,以及如何以编程方式设置窗口尺寸和位置?

另外,我似乎找不到更多的其他答案之一说你应该删除GameScene.sks,我就是这样做的,除了大小之外,一切看起来都还不错。

macos sprite-kit swift

5
推荐指数
1
解决办法
2425
查看次数