日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 制作一個圖片旋轉的屏幕保護程序
    • 1、創建一個 screensaver project
    • 2、添加 imgView
    • 3、添加imgView 的動畫效果
    • 4、添加到 `系統偏好設置 - 桌面與屏幕保護程序` 中
    • 5、刪除 屏幕保護
  • `.saver` 文件
  • 參考資料


制作一個圖片旋轉的屏幕保護程序

參考demo 來源/下載地址:
https://github.com/xiezi222/ScreenSaverDemo


1、創建一個 screensaver project


這里的 organization name 將作為相關文件的前綴


產生的工程結構如下:
其中會自動產生一個類繼承自 ScreenSaverView, .m 文件中有 ScreenSaverView 中重要的方法,提供重寫


2、添加 imgView

重寫 initWithFrame 方法:

- (instancetype)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview {self = [super initWithFrame:frame isPreview:isPreview];if (self) {self.wantsLayer = YES;self.layer.backgroundColor = [NSColor cyanColor].CGColor; //無效[self setAnimationTimeInterval:1/30.0];[self setupView0];}return self; }- (void)setupView0{NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.netease.MSSceenSaver"];// NSBundle *bundle = [NSBundle mainBundle]; //使用這個無效NSString *imgPath = [bundle pathForResource:@"beauty" ofType:@"png"];NSImage *img = [[NSImage alloc] initWithContentsOfFile:imgPath];CGFloat imgW = 500;CGFloat imgH = 500;CGRect rect = self.bounds;CGRect fRect = CGRectMake((rect.size.width-imgW)/2, (rect.size.height-imgH)/2, imgW, imgH);self.imgView = [[NSImageView alloc] initWithFrame:fRect];[self.imgView setWantsLayer:YES];self.imgView.layer.backgroundColor = [NSColor yellowColor].CGColor;self.imgView.image = img;[self addSubview:self.imgView]; }

3、添加imgView 的動畫效果

重寫 animateOneFrame 方法:

你也可以在這個方法中使用貝塞爾曲線等,繪制更多的動畫效果。動畫的頻率由 AnimationTimeInterval 決定。

- (void)animateOneFrame {CALayer *layer = self.imgView.layer;CATransform3D transfrom = CATransform3DIdentity;_angle = _angle - M_PI/200.0;if (_angle == -M_PI *2) {_angle = 0;NSLog(@"_angle reset");}CGPoint point = CGPointMake(0.5, 0.5);transfrom = CATransform3DRotate(transfrom, _angle , 0.0f, 0.0f, 1.0f);transfrom = CATransform3DConcat(transfrom, CATransform3DTranslate(CATransform3DIdentity, self.imgView.bounds.size.width/2, self.imgView.bounds.size.height/2, 0));layer.anchorPoint = point;layer.transform = transfrom;return; }

4、添加到 系統偏好設置 - 桌面與屏幕保護程序 中

運行程序,將在 product 文件夾中產生一個 .saver 類型文件。
進入文件夾,雙擊這個 .saver 文件,系統將提示你安裝。
選擇為此用戶安裝,將安裝到 ~/library/screen savers/ 目錄;
為這臺電腦上所有用戶安裝,將安裝到 /library/screen savers/ 目錄;且安裝和刪除都需要密碼;


在這里插入圖片描述


5、刪除 屏幕保護

在偏好設置面板刪除后,上述文件夾的文件也會隨之刪除。
在文件夾刪除后,偏好設置中不會馬上刪除,會顯示為默認的屏保;僅退出桌面與保護程序目錄也沒用;需要重啟偏好設置應用。
所以建議調試有問題時,刪除文件后,重啟偏好設置。


.saver 文件

一些系統的屏幕保護程序 會存放在 /system/library/screen savers/ 這個地址;
使用finder 前往去看看,右鍵選中一個 saver 文件,顯示包內容,可以發現和平時使用的 App 差不多


他的 info.plist 信息如下:


參考資料

  • 官方文檔:
    https://developer.apple.com/documentation/screensaver/screensaverview?language=objc

  • 教程:
    http://cocoadevcentral.com/articles/000088.php


總結

以上是生活随笔為你收集整理的macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 污污的网站在线观看 | 99国产精品99 | 玖玖五月 | 无码精品一区二区三区AV | 欧美大白屁股 | 18禁肉肉无遮挡无码网站 | 免费av影片 | 另类av在线 | 校园伸入裙底揉捏1v1h | 久久久国产高清 | wwwwxxxxx日本 | 椎名由奈在线观看 | av观看免费在线 | 最新黄色网址在线观看 | 一区二区在线视频 | 国产日韩欧美视频 | 精品国精品国产自在久不卡 | 青草伊人久久 | 久久黄色大片 | 中文久久乱码一区二区 | 欧美资源在线观看 | 国产一区91精品张津瑜 | 男人天堂亚洲 | 亚洲三区在线观看无套内射 | 国产精品久久久久久久一区探花 | 99热在线国产 | 精品一区二区三区毛片 | 久久久综合 | 日本中文字幕在线不卡 | 丝袜制服影音先锋 | 国产艳妇疯狂做爰视频 | 一级片aaa | 日韩视频一区二区在线观看 | 国产精品入口免费 | 久久99精品久久久久子伦 | 波多野结衣一二三四区 | 98久久| 欧美一区二区日韩一区二区 | xxx国产| 美女流白浆视频 | 男生女生操操操 | 黄色男同视频 | 美女张开双腿让男人捅 | 精品国产精品网麻豆系列 | 欧美日a| 亚洲黄色片免费看 | 亚洲伦理自拍 | 欧美一级片黄色 | 欧美怡红院一区二区三区 | 激情综合啪啪 | 高h1v| 玩弄少妇人妻 | 爱情岛av| 成人国产精品入口 | 91av导航| 玖玖免费 | 一区二区在线免费观看 | 村姑电影在线播放免费观看 | 91精品综合久久久久久 | 亚洲视屏一区 | 无码国产69精品久久久久网站 | 亚洲深夜福利视频 | 免费美女av | 国产男女在线 | 中文字幕免费观看视频 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 国产香蕉精品 | 一区二区三区不卡在线观看 | av黄色网 | 亚欧成人精品 | 日本综合视频 | 日韩在线观看视频网站 | 欧美日韩一区二区三区不卡 | 欧美xxxxx精品 | 日韩视频福利 | 欧美一级片免费 | 久久免费视频播放 | 伊人春色在线视频 | 欧美一区二区三区的 | 黄色www | 亚洲午夜一区二区三区 | 五月天婷婷丁香 | 精品人妻无码一区二区三区 | 人人av在线 | 国产精品999.| 久久激情综合 | 久久精品视频在线播放 | 久久精品国产亚洲av久一一区 | 欧美老肥婆性猛交视频 | 国产成人精品一区二区在线小狼 | av先锋资源 | 污视频网址在线观看 | 337p亚洲精品色噜噜噜 | 五月婷婷狠狠干 | eeuss一区 | 国产精品久久国产精麻豆96堂 | 国产xxx视频 | 91九色蝌蚪porny | 欧美亚洲色综久久精品国产 |