내가 (AN NSMenu 도구 모음에 배치 열립니다) NSPopUpButton를 서브 클래스 화해, 버튼을 아래로 밀어 경우 NSPopUpButton의 drawRect 핸들 (메뉴가 표시되어)
- (void)drawRect:(NSRect)dirtyRect {
if (ISPUSHED) {
} else {
}
}
어떻게 결정하는 대안의 drawRect을 밀어?
내가 (AN NSMenu 도구 모음에 배치 열립니다) NSPopUpButton를 서브 클래스 화해, 버튼을 아래로 밀어 경우 NSPopUpButton의 drawRect 핸들 (메뉴가 표시되어)
- (void)drawRect:(NSRect)dirtyRect {
if (ISPUSHED) {
} else {
}
}
어떻게 결정하는 대안의 drawRect을 밀어?
NSPopUpButton
는 NSButton
의 서브 클래스입니다, 그래서 당신은 당신이 다른 버튼에서와 같이 mouseDown:
및 mouseUp:
방법을 대체 할 수 있습니다.
당신이해야하는 경우 isPushed
같은 부울 속성을 설정하고 drawRect:
방법으로 그것을 사용하는 데 사용할 수 있지만, 아마 mouseDown:
및 mouseUp:
에 그리기 코드를 넣어 스마트 것이다.
NSMenu와 NSPopUpButton의 경우에서 근무 유일한 대리자 예상대로이 항상 작동하지 않습니다
@interface AddDevicePopUpButton()
@property (nonatomic, assign, getter = isShowingMenu) BOOL showingMenu;
@end
@implementation AddDevicePopUpButton
- (void)awakeFromNib {
[super awakeFromNib];
self.menu.delegate = self;
}
- (void)drawRect:(NSRect)dirtyRect {
if (self.showingMenu) {
} else {
}
}
- (void)menuWillOpen:(NSMenu *)menu {
self.showingMenu = YES;
}
- (void)menuDidClose:(NSMenu *)menu {
self.showingMenu = NO;
}
, 메뉴와 함께 팝업 그 때 –
당신이 수로 설정했다 더 구체적으로? 어쩌면 사용중인 코드로 질문을 편집 할 수 있습니까? 실제 목표를 알면 도움이 될 것입니다. 사용자가 클릭 할 때 버튼 이미지를 변경하려고합니까? –