[英]NSButton rotate animation clockwise in cocoa mac application
我在目標 c 中有一個可可 mac 應用程序。
當我按下我的 NSButton 時,我想用動畫順時針旋轉它幾秒鍾。
我試過下面的代碼但沒有工作。
CABasicAnimation *ani = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
ani.fromValue = [NSNumber numberWithFloat:0];
ani.toValue = [NSNumber numberWithFloat:-M_PI*2];
[btnScan.layer setAnchorPoint:CGPointMake(0.5, 0.5)];
ani.duration = 2.0; // seconds
ani.repeatCount = HUGE_VAL;
[btnScan.layer addAnimation:ani forKey:nil];
我搜索了很多,但找不到合適的解決方案。
任何人都可以幫助我嗎?
添加[btnScan setWantsLayer:YES];
在你做動畫之前。 NSView 與 UIView 不同,默認情況下沒有支持層。
來自蘋果文檔:
在 iOS 應用程序中,核心動畫始終處於啟用狀態,並且每個視圖都由一個層支持。 在 OS X 中,應用程序必須通過執行以下操作顯式啟用 Core Animation 支持:
鏈接 QuartzCore 框架。 (只有當 iOS 應用明確使用 Core Animation 接口時,它們才必須鏈接到這個框架。)
通過執行以下操作之一,為一個或多個 NSView 對象啟用層支持:
在您的 nib 文件中,使用視圖效果檢查器為您的視圖啟用圖層支持。 檢查器顯示選定視圖及其子視圖的復選框。 建議您盡可能在窗口的內容視圖中啟用圖層支持。
對於以編程方式創建的視圖,調用視圖的 setWantsLayer: 方法並傳遞 YES 值以指示視圖應使用圖層。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.