Escondendo agressivamente o cursor – Sam isoffes

Escondendo agressivamente o cursor – Sam isoffes


Postado em

Estou trabalhando em um aplicativo Mac que possui um seletor de cores. Aqui está uma captura de tela:

Escondendo agressivamente o cursor – Sam isoffes

Para que isso funcione, escondo o cursor e tenho uma visualização personalizada, rastreie os movimentos do seu mouse. (Quando digo cursor Quero dizer, o ponteiro na tela que você controla com o mouse e, quando digo mouse, quero dizer seu dispositivo de entrada física.) Eu uso uma tela cheia, janela sem fronteiras e NSTrackingArea Para fazer isso. Nada muito louco lá. Eu faço isso para evitar lidar com um personalizado NSCursor já que isso era muito mais trabalho.

Quando eu mostro esta janela de tela cheia, simplesmente ligo NSCursor.hide() e ligue NSCursor.unhide() Quando a janela é demitida ou perde o foco. Fácil o suficiente.

Aqui está o problema. Se você mover violentamente o mouse, o cursor voltaria. Isso me levou um tempo para descobrir. Se o sistema tornar seu cursor gigante, ele voltará. Você nunca vê que é gigante. Isso meio que parece um bug. Eu sei usando NSCursor hide e unhide Não é super confiável, a menos que você controla tudo. Eu embora ter uma janela de tela cheia era controle suficiente. Ah bem.

Havia uma solução simples:

override func mouseMoved(with event: NSEvent) {
    // Whatever work I would normally do here

    // Workaround macOS making the cursor huge and unhiding it when you wiggle it violently
    NSCursor.hide()
}

Fácil o suficiente. Talvez eu deva usar um cursor personalizado em vez dessa loucura?

Postado em

A maioria dos meus projetos contém um RakeFile com algumas tarefas comuns. Rake é a ferramenta do Ruby para executar tarefas. É a minha ferramenta de escolha para pequenos scripts, mas é claro que você pode fazer o que quiser. Meu amigo Ayaka Até conversou sobre scripts com Swift!

Normalmente, meus scripts são para algo tedioso que pode ser facilmente automatizado. Aqui estão alguns exemplos em meus próprios projetos:

Alguns dos scripts mais elaborados que escrevi em projetos foram automatizar dependências de coleta. Isso pode ser complicado, dependendo da sua configuração. Meu objetivo é sempre para alguém que não é um desenvolvedor para clonar, executar o comando, abrir o Xcode e construir. Isso pode parecer um exagero, mas se você facilitar, você facilita a sua equipe e os colegas de equipe que economizam muito tempo.

Continue lendo →





Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *