Per ottenere un filtro in modalità notturna, è necessario ridurre l'esposizione alla luce blu (la luce solare contiene luce blu e ci tiene svegli e allerta).
Il modo più semplice per rimuovere la luce blu sull'intera app è utilizzare un filtro di contenuto per le visualizzazioni, nel mio caso uso il tono seppia.
Selezionare la View e andare alla sezione "View Effetti ispettore"
![View Effects inspector](https://i.stack.imgur.com/AuNd0.png)
In filtri di contenuto, fare clic sull'icona "+" e aggiungere e scorrere fino a "Effetto colore"/"Seppia"
![Content Filters](https://i.stack.imgur.com/rPsbH.png)
è possibile regolare il tono seppia o scegliere diversi filtri di colore per cercare di ottenere un effetto desiderato, ma ricorda l'obiettivo principale è togliere la luce blu (tono di seppia con intensità e 1 è nough).
![before](https://i.stack.imgur.com/w09NQ.png)
![after](https://i.stack.imgur.com/hH5sf.png)
Se si desidera programaticly modo per creare un filtro:
#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];
}
di Apple Riferimento: Core Image Filters Reference
Nota: Alcune applicazioni mettere uno strato colore rosso su tutte le Visualizzazioni applicazione, ma puoi affrontare alcuni problemi con le interazioni dell'utente.
fonte
2017-03-28 17:19:01
Cosa intendi per modalità notturna? La modalità oscura introdotta in OS X Yosemite? – mangerlahn
Per modalità notturna intendo il modo in cui l'app f.lux (https://justgetflux.com/) funziona. Voglio sviluppare funzionalità simili nella mia app. – meetpd
Il migliore è, inizia con l'ora del sistema e prendi questo per il calcolo per la notte. – voltae