2015-02-16 15 views
7

c'ho lavoro in classe Objective C che è come segue:Come assegnare escape come chiave equivalente a un pulsante in swift? Codice

closeButton.keyEquivalent = @"\e"; 

Questo non funziona in veloce, come si dice "non valido in sequenza di escape letterale." Ho cercato di utilizzare il seguente codice:

closeButton.keyEquivalent = "\u{53}" 

Ma anche senza fortuna. Qualche idea ?

+0

hai provato \\ e? – Miknash

+0

Il codice chiave corretto per l'escape sarebbe u {1b} ma non funziona neanche. Probabilmente la fuga viene catturata da NSResponder da qualche altra parte. Per esempio. se lo stato attivo è su un menu a discesa, apre il menu. –

+0

@NickCatib yeah doppio controllato ora, non funziona con \\ e – Krzysztof

risposta

17

è necessario assegnare

closeButton.keyEquivalent = "\u{1b}" 

appena provato in un'applicazione di test.

Edit: Secondo @ commento di Lucasware l'assegnazione objC è

[NSString stringWithFormat:@"%C", 0x1b] 
+0

Che funziona davvero. – Krzysztof

+0

Come faccio questo nell'obiettivo c? – Lucasware

+0

@Lucasware https://stackoverflow.com/questions/6421282/how-to-convert-hex-to-nsstring-in-objective-c –

Problemi correlati