gpt4 book ai didi

objective-c - Mavericks 上 NSWindow contentView 的奇怪问题

转载 作者:行者123 更新时间:2023-12-03 17:11:38 26 4
gpt4 key购买 nike

我是一位经验丰富的 iOS 开发人员,最近开始了构建他的第一个 Mac OS 应用程序的旅程。到目前为止一切顺利,但我遇到了一个奇怪的问题。

我有一个单窗口应用程序(从默认的 MainMenu.xib 文件启动),它将一些 NSView(来 self 创建的自定义 NSViewController)推送到 NSWindow contentView 上。

这在我运行 Mountain Lion 的 Macbook Air 和另一台运行最新版本 Mavericks 的 Macbook Pro retina 上运行良好。但是,我还有第三台设备运行 Mavericks,但我只是看到一个空白屏幕窗口,没有任何 View 。

这就是窗口结构:

NSWindow (custom NSWindow object, initiated with NSBorderlessWindowMask)
--> NSWindow has a background view, with a solid colour

然后,我需要在窗口中显示的内容具有以下结构:

NSViewController (main)
--> NSViewController sub 1. View is added to the ViewController above
--> NSViewController sub 2. View is added to the ViewController above
--> NSViewController sub 3. View is added to the ViewController above

然后我将主 NSViewController (包含 View 的子部分)添加到窗口的 contentView

self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];

[self.window.contentView addSubview: self.mainViewController.view];
[self.window.contentView setNeedsDisplay:YES];

self.mainViewController.view.frame = ((NSView*) self.window.contentView).bounds;

在我遇到问题的 Mavericks 设备上,我只能看到 NSWindow 及其背景 View 。在所有其他设备上一切正常。

最佳答案

嗯,我确信我本地化的频率比你少,但我首先怀疑缺少 NIB 资源是问题所在,然后本地化就是问题,因为 NIB 没有加载并且 initWithNibName:bundle 确实会查找本地化的 NIB。

听起来您需要 subview 的基本本地化以确保它们出现在任何地方,我认为这相当奇怪。

关于objective-c - Mavericks 上 NSWindow contentView 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23313104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com