Cocoa(Xcode)中的配置不受支持错误

5
我需要一个用Cocoa Xcode 4制作的全屏窗口,里面有很多东西。但是有一个持续的警告:每当我尝试调整主窗口大小时,我都会收到此警告(代码编译良好,但我确信对于小屏幕的用户会出现问题)。这是警告消息:

"不支持的配置 内容矩形未完全位于带菜单栏的屏幕上(在所有屏幕分辨率和配置下可能无法完全看到)"

我的两个问题:

1-除了使用较小的窗口(因为该警告从560 x 560窗口大小开始),有什么更好的方法来摆脱这个警告?我不能为那些东西使用如此小的屏幕

2-如何告诉程序一开始就打开全屏?

2个回答

3
  1. 你只需要在IB的调整大小检查器中移动窗口。

  2. 这个SO问题应该能够解答。


谢谢。我检查了那个链接,发现可以用一种更简单的方法,而非使用整个initWithContentRect方法。顺便说一下,你的答案帮助我解决了问题。 - Aug

2

这是我可以在此链接下使用的代码,感谢“trojanfoe”提供的信息。

在全屏模式下创建NSWindow

这是简化后的代码:

请记住,Cocoa不会在AppDelegate.m中为默认窗口进行@synthesize。您需要手动添加@synthesize window;

1- 首先我们用屏幕大小填充screenRect 2- 在尺寸检查器中将窗口位置设置为“固定从左侧”,并进行任何所需的偏移量,您必须在代码中支付该偏移量(这里我使用了10像素的偏移量和40像素的补偿。这导致与Xcode完全相同的窗口大小! enter image description here

3- 添加以下代码:

  • (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    // set to open in full screen mode:

    NSRect screenRect;

    NSSize screenSize;

    NSArray *screenArray = [NSScreen screens];

    NSUInteger screenCount = [screenArray count];

    for (NSUInteger index=0; index < screenCount; index++)

    {

    NSScreen *screen = [screenArray objectAtIndex: index];
    
    screenRect = [screen visibleFrame];
    

    }

    // Now screenRect contain Screen size

    screenSize.height= screenRect.size.height; screenSize.width= screenRect.size.width;

    [window setContentSize:screenSize]; }

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接