2012-09-14 13 views
5

Necesito una ventana de pantalla completa con muchas cosas, hecha por Cocoa Xcode 4. Pero hay una advertencia persistente: cada vez que intento cambiar el tamaño de la ventana principal, recibo esta advertencia (código se compila bien, pero estoy seguro de que algo va a salir mal para los usuarios con pantallas pequeñas) esta es la advertencia:Error de configuración no compatible en Cocoa (Xcode)

"configuración no admitida rectángulo contenido no del todo en la pantalla con la barra de menú (mayo no se ve completamente para todas las configuraciones de resolución de pantalla y ) "

tengo 2 preguntas:

1- ¿cuál es la mejor manera de deshacerse de este aviso (excepto el uso de ventana más pequeña debido a que la alerta se inicia alrededor de 560 x 560 tamaño de la ventana. No puedo usar una pantalla tan pequeña para esas cosas)

2- ¿Cómo puedo decirle al programa que se abra en pantalla completa al principio?

Respuesta

3
  1. Solo tiene que mover la ventana en el inspector de dimensionamiento en IB.

  2. Este SO question debería responder eso.

+0

Gracias. Revisé ese enlace y encontré en lugar de usar todo el método initWithContentRect, puedo usarlo de una manera más simple. Por cómo, tu respuesta condujo a mi solución. – Aug

2

Este es el código que podría utilizar en virtud de este vínculo que afortunadamente "trojanfoe" que me haga saber

Creating NSWindow in fullscreen mode

Este código se simplifica:

Recuerde que el cacao no lo hace make @synthesize en AppDelegate.m para ventana predeterminada. Necesita agregar la ventana @synthesize; manualmente

1- primero que se llenan con el tamaño de la pantalla PanRect 2- en el inspector de tamaño del conjunto de posición de la ventana a "fijo desde la izquierda" y hacer cualquier desplazamiento necesaria que debe ganancia que compensa en su código más tarde (Aquí se usa ¡10 px de compensación y 40px pagan, esto dio como resultado exactamente el mismo tamaño de ventana que Xcode! enter image description here

3- añadir este código:

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

    // establecer para abrir en modo de pantalla completa:

    NSRect screenRect;

    NSSize screenSize;

    NSArray * screenArray = [Pantallas NSScreen];

    NSUInteger screenCount = [contadorArray];

    para (índice NSUInteger = 0; índice < screenCount; índice ++)

    {

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

    }

    // Ahora PanRect contiene tamaño de pantalla

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

    [window setContentSize: screenSize]; }

enter image description here

+0

+1 Buena respuesta. – trojanfoe

Cuestiones relacionadas