2013-04-17 9 views
1

, 내 사용자 정의 포커스 링의 색상을 설정하려면, 내가 할 수 파랑 색을 한대로 시도하지 기본 코드초점 링 색상을 변경하는 방법은 무엇입니까? <code>NSImageView</code>의 draw 함수에서

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 코드는 포커스 링 색상을 설정할 수있는 사용자가 선택한 포커스 스타일로 포커스 링을 쉽게 그릴 수 있도록 고안되었습니다.

포커스 링 색상을 OS 테마의 일부로 쉽게 변경할 수 없으므로 사용자가 제어해야합니다 (HIG에 따라). 특수한 경우 (예 : 이미지의 내용에 따라 초점 링을 적응 적으로 색칠해야하는 경우), 처음부터 자신의 초점 링을 만들어야합니다.

+0

NSImageView의 그리기 기능에서 나는 이것을 발견했습니다. NSShadow 클래스를 사용하여 this.It을 포커스 링과 동일하게 보았습니다. 감사합니다. – gohamgx