2012-09-14 32 views
5

我需要一個全屏窗口,裏面有很多東西,由Cocoa Xcode 4製作。但是有一個持久的警告:任何時候我嘗試調整主窗口的大小,我會收到此警告(代碼編譯好,但我相信事情會出問題的小屏幕的用戶) 這是警告:可可(Xcode)中不支持的配置錯誤

「不支持的配置 內容的矩形並不完全在屏幕上的菜單欄(五月對於所有屏幕分辨率和 配置不完全可見)「

我有2個問題:

1什麼是擺脫這一警告的最佳方式(除了因爲警告啓動約560 X 560的窗口大小使用較小的窗口。我不能用那樣的小屏幕)

2-我怎樣才能讓程序在開始時全屏打開?

回答

3
  1. 您只需要在IB的尺寸檢查器中移動窗口。

  2. SO question應該回答這個問題。

+0

感謝。我檢查了該鏈接,發現不是使用整個initWithContentRect方法,而是使用更簡單的方法。如何,你的答案導致我的解決方案。 – Aug

2

這是代碼,我可以此鏈接下使用謝天謝地「trojanfoe」讓我知道

Creating NSWindow in fullscreen mode

這是簡化代碼:

記住,可可不在AppDelegate.m中爲@ 默認窗口創建@synthesize。你需要添加@synthesize窗口;手動

1 - 首先,我們填補了screenRect與屏幕尺寸 2-尺寸檢查器中設置窗口的位置,以「從左固定」,並作出必要的偏移必須回報,在你的代碼偏移後(這裏我用10 px的偏移量和40px的支付,這導致了與Xcode完全相同的窗口大小! enter image description here

3-添加以下代碼:

  • (無效)的applicationDidFinishLaunching:(NSNotification *)aNotification {

    //設置在全屏模式下打開:

    NSRect screenRect;

    NSSize screenSize;

    NSArray * screenArray = [NSScreen screens];

    NSUInteger screenCount = [screenArray count];

    爲(NSUInteger索引= 0;索引< screenCount;索引++)

    {

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

    }

    //現在screenRect包含屏幕尺寸

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

    [window setContentSize:screenSize]; }

enter image description here

+0

+1很好的答案。 – trojanfoe