2014-03-12 2 views

답변

0

NSPopUpButtonNSButton의 서브 클래스입니다, 그래서 당신은 당신이 다른 버튼에서와 같이 mouseDown:mouseUp: 방법을 대체 할 수 있습니다.

당신이해야하는 경우 isPushed 같은 부울 속성을 설정하고 drawRect: 방법으로 그것을 사용하는 데 사용할 수 있지만, 아마 mouseDown:mouseUp:에 그리기 코드를 넣어 스마트 것이다.

+0

, 메뉴와 함께 팝업 그 때 –

+0

당신이 수로 설정했다 더 구체적으로? 어쩌면 사용중인 코드로 질문을 편집 할 수 있습니까? 실제 목표를 알면 도움이 될 것입니다. 사용자가 클릭 할 때 버튼 이미지를 변경하려고합니까? –

0

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; 
}