2013-04-17 79 views
1

NSImageView的繪製函數,我想設置我的自定義對焦環的顏色,而不是默認的藍色color.I嘗試如下代碼如何更改對焦環的顏色?

NSSetFocusRingStyle(NSFocusRingOnly); 
[[NSColor redColor] setStroke]; 
NSRectFill([self bounds]); 

但顏色仍然默認藍色color.How可我解決這個問題?

更新: NSShadow課幫助我完成添加聚焦環。很容易改變陰影顏色。

NSShadow *shadow = [[[NSShadow alloc] init] autorelease]; 
[shadow setShadowBlurRadius:5]; 
[shadow setShadowOffset:NSMakeSize(0.0, 0.0)]; 
[shadow setShadowColor:[NSColor redColor]]; 
[shadow set]; 

我在NSImageView的繪圖函數中編寫了這個代碼。

回答

2

解決這個「問題」的唯一方法是自己繪製聚焦環。 NSFocusRingStyle代碼旨在使您可以輕鬆地在用戶選定的對焦風格中繪製對焦環,其中包括可以設置對焦環的顏色。

在設計上,由於它是操作系統主題的一部分,因此您不能輕易更改對焦環的顏色,因此應該由用戶控制(根據HIG)。如果您有特殊情況,例如需要根據圖像內容自適應地調整對焦環的顏色,則必須從頭開始創建自己的對焦環。

+0

我發現它根據你和NSImageView的繪圖功能,我使用NSShadow類完成這個。它看起來像聚焦環一樣。謝謝。 – gohamgx

相關問題