如何在Mac(Cocoa)应用程序中实现夜间模式?

mee*_*tpd 6 macos cocoa objective-c osx-yosemite osx-elcapitan

我是新手在Mac上创建应用程序(Cocoa).

有人可以指点我如何在Mac App中创建夜间模式功能?

在这方面,我非常感谢你的帮助.

谢谢!

小智 2

要实现夜间模式滤镜,您需要减少蓝光的照射(阳光中含有蓝光,使我们保持清醒和警觉)。

消除整个应用程序上的蓝光的最简单方法是在视图上使用内容过滤器,在我的例子中,我使用棕褐色调。

选择您的视图并转到“视图效果检查器”

查看效果检查器

在内容过滤器中,单击“+”图标并添加并滚动到“颜色效果”/“棕褐色调”

内容过滤器

您可以调整棕褐色调或选择不同的滤色镜来尝试达到所需的效果,但请记住主要目标是消除蓝光(强度为 1 的棕褐色调就足够了)。

前 后

如果您想以编程方式创建过滤器:

#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];

}
Run Code Online (Sandbox Code Playgroud)

Apple 参考:核心图像滤镜参考

注意:某些应用程序在所有应用程序视图上放置了红色色调层,但您可能会遇到用户交互的一些问题。