2009-10-28 5 views
8

사용자 정의 NSButton은 어떻게 작성합니까? 배경색을 변경하거나 둥근 모서리에서 사각형 모서리로 변경하는 것과 같은 작은 의미는 아닙니다. 단추의 전체 모양과 느낌을 바꾸려고합니다. 심지어 코코아에서 할 수 있습니까? 분명히 NSButton 클래스를 서브 클래스 화하고 거기에서 가야 할 것입니다. 어떤 도움이라도 대단히 감사 할 것입니다.사용자 정의 NSButton은 어떻게 작성합니까?

답변

12

실제로는 NSButtonCell의 하위 클래스가 필요합니다. 그들이 상호 작용하는 방식을 더 잘 이해하려면 Apple's documentation을 읽어야합니다. 서브 클래스를 하위 클래스로 사용하기 위해 NSButton을 서브 클래 싱 할 수도 있습니다.

버튼의 경우 대부분 drawBezelWithFrame:inView:으로 이루어집니다. 텍스트 또는 이미지의 그리는 방법을 변경하려면 drawText:withFrame:inView:drawImage:withFrame:inView:을 무시하십시오.

+4

네, 그게 최선의 방법입니다. 인터페이스 빌더와 Mac OS 10.5를 사용하는 경우 더 이상 NSButton을 서브 클래스 할 필요가 없습니다. 펜촉의 버튼을 드래그 앤 드롭 한 다음 셀 클래스를 사용자 정의 클래스로 변경하십시오. – Leibowitzn

+1

사실입니다. 더 이상,'NSButton'을 서브 클래스화할 필요가있는 유일한 시간은 프로그래밍 방식으로 컨트롤을 생성하는 경우입니다. – Alex

+1

속성을 설정하여 모양을 바꿀 수 있습니까? 단추의 "이미지"속성을 사용하여 모양을 변경할 수 있었지만 사용자 지정 단추를 클릭 할 때마다 (이미지에 투명도가 있음) 추한 회색 사각형이 나타납니다. 감사합니다. – adib

관련 문제