2015-10-02 2 views
0

J'essaie d'obtenir la résolution maximale de l'affichage de l'utilisateur - pas nécessairement la résolution actuelle, mais le maximum de l'affichage prend en charge. Je sais que je peux obtenir la résolution actuelle avec quelque chose comme this mais j'ai besoin du maximum (c'est-à-dire: sur un MBP 13inch la résolution serait 2560x1600).OSX App: Obtenir la résolution maximale de l'affichage de l'utilisateur (Swift)

Je sais que je peux le faire dans Terminal en utilisant quelque chose comme this, mais je voudrais éviter d'essayer de faire quelque chose de hack-y dans le Terminal, et au lieu de le faire avec Swift. Des suggestions sur comment je peux faire cela? Merci.

Répondre

1

Vous devez utiliser les services d'affichage à quartz. Tout d'abord, obtenez une liste des affichages, probablement avec CGGetActiveDisplayList. Ensuite, pour chaque affichage, utilisez CGDisplayCopyAllDisplayModes. Itérer sur le tableau de modes, en utilisant CGDisplayModeGetWidth et CGDisplayModeGetHeight pour déterminer quelle est la résolution la plus élevée.