2016-05-21 20 views
6

Ich bin neu beim Erstellen von Apps auf Mac (Cocoa).Wie implementiere ich den Nachtmodus in Mac (Cocoa) -Anwendungen?

Kann mir jemand Hinweise geben, wie ich eine Nachtmodusfunktion in einer Mac App erstellen kann?

Ich schätze wirklich Ihre Hilfe in dieser Hinsicht.

Danke!

+0

Was meinst du mit Nachtmodus? Der dunkle Modus in OS X eingeführt Yosemite? – mangerlahn

+0

Im Nachtmodus meine ich, wie die f.lux App (https://justgetflux.com/) funktioniert. Ich möchte ähnliche Funktionen in meiner App entwickeln. – meetpd

+0

Am besten ist, beginnen Sie mit der Systemzeit und nehmen Sie dies für Ihre Berechnung für die Nachtzeit. – voltae

Antwort

2

Um einen Nachtmodus-Filter zu erreichen, müssen Sie reduzieren die Exposition gegenüber dem blauen Licht (Sonnenlicht enthält blaues Licht und halten uns wach und wachsam).

Die einfachste Möglichkeit, blaues Licht auf Ihrer gesamten App zu entfernen, ist ein Content Filter auf Ihre Ansichten, in meinem Fall verwende ich Sepia-Ton.

Ihre Ansicht wählen und gehen Sie auf „Ansicht Effects Inspektor“

View Effects inspector

In Inhaltsfilter, klicken Sie auf das Symbol „+“ und hinzufügen und navigieren Sie zu „Farbeffekt“/„Sepia-Ton“

Content Filters

Sie den Ton Sepia einstellen oder verschiedene Farbfilter wählen zu versuchen, einen gewünschten Effekt zu erzielen, aber nicht vergessen, mit Intensität 1 das Hauptziel ist es, das blaue Licht (Sepia-Ton zu entfernen, ist e nein).

beforeafter

Wenn Sie Weg, um programaticly einen Filter zu erstellen:

#import "ViewController.h" 
#import <CoreImage/CIFilter.h> 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    CIFilter * sepiaTone = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:@"inputIntensity", @1.0, nil]; 
    self.view.contentFilters = [NSArray arrayWithObject:sepiaTone]; 

} 

Apple-Referenz: Core Image Filters Reference

Hinweis: Einige Anwendungen eine rote Farbton Schicht auf allen Anwendungs ​​Ansichten setzen, aber Sie können einige Probleme mit Benutzerinteraktionen auftreten.