2012-03-05 5 views
4

내 애플 리케이션에 글꼴 선택 도구를 추가하고 싶습니다. Xcode의 인터페이스 빌더는 Xcode 고유의 환경 설정 창에서도 사용되는 훌륭한 구현을 제공합니다.Xcode 스타일의 글꼴 선택 도구

글꼴 이름 텍스트 필드 자체에 약간 'T'버튼 (겉보기)이있는 글꼴입니다.

표준 코코아 구현입니까?

+0

현재 NSFontPanel을 조사 중입니다. 답변이 필요했으나 잘되었습니다. – Mazyod

+0

이 컨트롤도 사용하고 싶습니다. 비교할만한 솔루션을 생각해 냈습니까? –

답변

0

자신을 굴릴 필요가 있습니다. Subclassing NSControl을 참조하십시오. NSTextField와 NSTextFieldCell을 하위 클래스 화합니다. 실제로 전체 안내서를 읽으십시오. 일단 잘 이해하면 드로잉/지오메트리 루틴을 오버라이드하여 너비가 약간 더 작은 (폰트 "버튼"의 공간을 남겨 둘만큼 작음) 직사각형을 반환 할 수 있습니다. 그런 다음 글꼴 단추를 그립니다. 폰트 버튼의 마우스 이벤트는 NSView에서와 동일하게 응답합니다.

0

버튼이있는 미리보기 텍스트 상자에는 표준 컨트롤이 없지만 'T'버튼을 클릭하면 사용자가 글꼴을 선택할 수있게 해주는 표준 NSFontPanel 클래스가 있습니다.

NSTextFieldCell을 무시하는 것이 가장 좋습니다. -drawInteriorWithFrame : inView :를 재정 의하여 원하는 모양을 얻을 수 있었고, super를 호출 할 때 약간 덜 넓은 프레임을 전달한 다음 직접 단추를 그릴 수있었습니다. 또한 버튼에 대한 마우스 추적을 직접 구현해야하지만, 자신 만의 NSButtonCell 인스턴스를 만들고 버튼의 하위 rect를 사용하여 몇 가지 메소드를 호출 할 수 있습니다.

편의상, 스트레이트 NSTextFieldCell 대신이 셀을 사용하는 NSTextField 하위 클래스를 만들 수도 있지만 XIB에서 항목을로드하는 경우 XIB의 셀 클래스를 변경할 수 있습니다. 일반 텍스트 필드보기로 둡니다.