in

La marca de agua de pantalla no funciona en macOS 12.4, pero funciona bien antes de macOS 12.4

Desarrollé un programa de marca de agua de pantalla que funcionó bien antes de macOS 12.4. Después de actualizar a 12.4, no se puede hacer clic en la ventana emergente «Extensión del sistema bloqueada», pero la otra ventana está bien. el código de muestra como este

NSScreen *screen = [NSScreen screens][0];

CGFloat windowWidth = screen.frame.size.width;
CGFloat windowHeight = screen.frame.size.height;
CGFloat x = screen.frame.origin.x;
CGFloat y = screen.frame.origin.y;

MyView* view = [[MyView alloc]initWithFrame:NSMakeRect(0, 0, windowWidth, windowHeight)];

NSWindow* window = [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, windowWidth, windowHeight)
                                              styleMask: NSWindowStyleMaskBorderless | NSWindowStyleMaskNonactivatingPanel
                                                backing:NSBackingStoreBuffered
                                                  defer:NO];
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];
[window setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces | NSWindowCollectionBehaviorFullScreenAuxiliary];
[window setIgnoresMouseEvents:YES];
[window setHasShadow:NO];
[window setLevel:NSScreenSaverWindowLevel];
[window setContentView:views];

[window makeKeyAndOrderFront:nil];

y dibujar en MyView

- (void)drawRect:(NSRect)dirtyRect
{
    NSRect screen = [self bounds];

    int SW = screen.size.width;
    int SH = screen.size.height;

    [[NSColor clearColor] set];

    NSRectFill(screen);

    NSString * strH= @"watermark test.";

    NSMutableDictionary *md = [NSMutableDictionary dictionary];
    [md setObject:[NSFont fontWithName:@"Times" size:80] forKey:NSFontAttributeName];

    [strH drawAtPoint:NSMakePoint(SH*0.5, SH*0.5) withAttributes:md];

    [self setNeedsDisplay:YES];
}

Este código funciona bien desde macOS 11.0 hasta macOS 12.3. ¿Alguien podría decirme cómo adaptarme a macOS 12.4 para mi código? He preguntado en los foros de Apple, pero nadie responde. Este es el enlace

0

¿Te ayudó la respuesta?

Subscribirse
Notificar por
guest
0 Comentarios
Inline Feedbacks
Ver todas las Respuestas

¿Soluciones para «Sistemas operativos: principios y práctica» por Anderson, Dahlin?

Pregunta de geometría trivial sobre un ángulo entre dos bloques paralelos (CG)