모든 셀에 대해 사용자 지정 배경이있는 드롭 다운 메뉴가있는 메뉴를 만들려고합니다. 먼저 NSPopUpButton을 적용하려고했지만 셀 배경 이미지를 변경할 수있는 방법을 찾지 못했습니다. setImage 사용 : 텍스트를 배경의 오른쪽으로 슬라이드합니다. 다음으로 NSComboBox에서 멈추었지만 화살표 단추를 바꿀 수있는 방법을 찾지 못했습니다. 누군가가 아이디어로 도움을받을 수 있습니까? 다음 단계는 사용자 정의 컨트롤러를 만드는 것이지만 이미 완료된 것을 사용하고 싶습니다.NSPopUpButton, 비슷한 메뉴 NSComboBox
답변
NSComboBox에서 화살표 단추를 사용자 지정하려면 NSComboBoxCell의 하위 클래스를 만들고 해당 셀을 사용하도록 콤보 상자를 설정해야합니다. IB에서 컨트롤을 구성했다면 쉽게 셀 클래스를 변경할 수 있습니다. 콤보 상자를 프로그래밍 방식으로 만드는 경우 NSComboBox의 하위 클래스를 만들고 + (Class)cellClass
을 재정 의하여 해당 메서드에서 사용자 지정 NSComboBoxCell 하위 클래스를 반환하십시오.
도면 용으로 변경되었습니다. NSComboBoxCell 하위 클래스에서 - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
을 재정의해야합니다.
(나는 - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
을 무시하려했지만이 제공하는 세포의 프레임은 단지 텍스트 입력 영역을 다루고 즉, 실제 버튼 그리기 영역의 짧은 중지됩니다.)
귀하의 사용자 정의 - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
모양은 다음과 같습니다
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
[super drawWithFrame:cellFrame inView:controlView];
// Constrain to the far right of the provided frame to draw the button
NSRect bounds = NSMakeRect(cellFrame.origin.x + cellFrame.size.width - cellFrame.size.height, cellFrame.origin.y, cellFrame.size.height, cellFrame.size.height);
// Draw your custom button inside the bounds rect
}
귀하의 질문을 정확하게 이해할 수 있을지 잘 모르겠습니다. UI의 임의의 위치에 메뉴를 표시하려면 NSMenu가이를 달성하기위한 편리한 방법을 제공합니다. + popUpContextMenu:withEvent:forView:
, + popUpContextMenu:withEvent:forView:withFont:
및 – popUpMenuPositioningItem:atLocation:inView:
에 대한 설명서를보고 필요에 가장 적합한 것을 찾으십시오. 이렇게하면 원하는 위치에 메뉴를 표시 할 수 있습니다.
대신 메뉴 안에 임의의 콘텐츠를 표시하려면 NSMenuItem
의 - setView:
문서를보십시오. 이렇게하면 메뉴 안에보기를 삽입 할 수 있습니다. 위의 메뉴 표시 방법과 함께 원하는 곳마다 "PopOver"요구에 맞는 모든 종류의 솔루션을 만들 수 있습니다.
- 1. NSPopUpButton : 메뉴 추적 이벤트?
- 2. NSPopUpButton- 일부 메뉴 항목을 선택적으로 비활성화하는 방법?
- 3. NSCombobox, NSTimer
- 4. NSMenuItem에서 NSPopUpButton 가져 오기
- 5. 코코아 NSPopupButton 문제
- 6. NSToolbar에 NSPopUpButton 넣기
- 7. 실행중인 NSCombobox 기록 저장
- 8. NSComboBox into NSAlert
- 9. NSPopupButton 변경 사항을 관찰하십시오.
- 10. MenuMatic과 비슷한 jquery 메뉴 막대 구현이 필요합니다.
- 11. XML 파일에서 NSPopUpButton 동적 콘텐츠로드
- 12. NSPopUpButton, 바인딩 및 단축 수명
- 13. NSPopupButton, 다른 NSPopupButton에 따라 업데이트
- 14. NSComboBox - 선택한 정보 및 NSComboBoxDataSource 얻기
- 15. "Not Selected"옵션을 추가하여 NSPopupButton 바인딩하기
- 16. NSPopUpButton (NSMenu)에 동일한 제목의 여러 메뉴 항목을 추가하는 방법은 무엇입니까?
- 17. 여러 개의 NSPopUpButton 인스턴스간에 NSMenu를 가장 잘 공유하는 방법
- 18. NSPopupButton (Cocoa OSX)의 NSPopupButtonCell에 직접 액세스
- 19. 비슷한 암호가 비슷한 암호를 사용합니까?
- 20. Cocoa-Bindings : NSComboBox 선택을 NSObjectController의 필드에 바인드합니다. 내 애플리케이션의
- 21. 메뉴 내의 메뉴 내의 서브 메뉴?
- 22. Windows 연락처와 비슷한 프로그램 작성 방법
- 23. NSPopUpButton 목록에 나타나는 코어 데이터 엔티티의 항목 필터링
- 24. 팝업과 팝업의 차이점은 무엇입니까 (즉, NSPopupButton 대 UIPopoverController)?
- 25. MS SQL Server를 사용하는 기능과 비슷한 "비슷한 게시물"?
- 26. Joomla 메뉴 및 하위 메뉴
- 27. drupal 메뉴 및 jquery 메뉴
- 28. ASP : 메뉴 : 전체 메뉴 여백?
- 29. Android 메뉴 및 하위 메뉴
- 30. 메뉴 트리에 하위 메뉴 추가