2011-08-05 6 views
1

긴 메뉴 항목이있는 NSPopUpButton이 있는데, 그 중 일부는 단추의 닫힌 너비보다 넓습니다. 메뉴 항목의 제목 중 일부는 그래서 같다 :NSPopUpButton에서 NSMenuItem의 짧은 표시 형식을 변경하려면 어떻게해야합니까?

"그 재미 있지 정말 긴 이름의 시작 (중요 정보)" 메뉴가 닫혀

이는 표시

"정말 긴 이름의 시작은 토륨하지 ..."

나는 그것이로 표시 할 :

"시작을 정말 리터의 (importa NT 정보) "

어떻게 NSPopUpButton이 줄임표를 작성하는지 알 수 없습니다. NSMenuItem에서 호출되는 선택기가 있습니까? NSPopUpButton 또는 NSMenu가 어떻게 든 처리합니까?

어떤 클래스를 하위 클래스로 지정해야하며 어떤 selector를 재정의하거나 구현해야합니까?

감사합니다.

답변

0

이 메커니즘을 절단이라고합니다. 인터페이스 작성기에서 줄 바꿈이라는 옵션이 컨트롤 그룹으로 그룹화되어 있습니다. 당신이 찾고있는 설정은 Truncate Middle이며 메뉴 항목의 가운데에서 문자를 선택하기 시작할 것입니다.

그러나 (important info) 부분이 "..."다음에 남는 부분이 아니라 Name of my Me…tem (important info) 일 수 있으므로 문제가 완전히 해결되지는 않습니다. 또한 중요한 정보가 부분적으로 잘 리게 될 수도 있습니다. 하지만 중요한 정보가 몇 자 또는 몇 자의 문자 인 한 이라고 생각하면입니다.

메뉴 항목에 이미지를 추가하면 필요에 맞게 추가 할 수 있습니다 (일종의 배지)? 어쩌면 문자가 잘리지 않도록 강제하는 옵션도 있습니다. 그러나 확실하지는 않습니다.

+0

인터페이스 빌더를 사용하고 있지 않다는 것을 제외하고는 저와 잘 맞습니다. Fabian이 필요한 단서를주었습니다. NSPopUpButton 하위 클래스 인스턴스 내에서 : [[자체 셀] setLineBreakMode : NSLineBreakByTruncatingMiddle] – Mira

0

Fabian이 내가 필요한 단서를주었습니다. 감사! 세분화 된 제어를 얻을 수있는 방법이 있는지

[[self cell] setLineBreakMode: NSLineBreakByTruncatingMiddle] 

그러나, 그것은 더 나은 것입니다. 잘라내기를 더 정확하게 제어 할 수있는 방법이 있습니까?