2012-03-27 1 views
4
나는 사용자의 OS X의 대부분을위한 오디오의 조각 시간의 범위를 선택할 수 있습니다 응용 프로그램에서 일하고 있어요

http://f.cl.ly/items/350X3c0h0A0k3s3f1R1h/Screen%20Shot%202012-03-27%20at%202.53.41%20PM.png퀵타임 X의 트림 UI의 사용자 정의 NSSlider 기반 오프를 만들기

검색 QuickTime X에서 위의 트리밍 인터페이스와 같은 UI를 얻으려는 시도는 unfortunately turned up many iOS related APIs입니다.

내 첫 번째 본능은 과도하게 사용자 정의 된 NSSlider입니다. 이걸 만들려고 할 때 일반적인 방향이 있습니까? NSSlider이 가장 좋은 경로입니까? 모든 포인터, 팁 또는 코드는 크게 감사하겠습니다.

편집 : 사용자 정의 컨트롤 일 가능성이 높습니다. 그것에 대한 모든 지침도 크게 감사하겠습니다!

+2

음악에 대한 귀하의 취향에 +1. – yuji

+1

나에게 슬라이더처럼 보이지 않습니다. 나는 그것이 사용자 정의 컨트롤이라고 생각합니다. –

답변

1

사용자 지정 컨트롤을 만듭니다. 여기에 내 사용자 지정 컨트롤을 위해 할 작업은 다음과 같습니다

먼저 인터페이스 :

@interface AS_CustomControl : NSControl <NSCoding> 
{ 
} 
@end 

그런 구현 :

@implementation AS_CustomControl 

-(id)initWithFrame:(NSRect)rect 
{  
    if (self = [super initWithFrame:rect]) 
    { 
     [self initCustomControl]; 
    } 
    return self; 
} 

-(id)initWithCoder:(NSCoder*)coder 
{  
    if (self = [super initWithCoder:coder]) 
    { 
     [self initCustomControl]; 
    } 
    return self; 
} 

-(void)initCustomControl 
{ 
    // put any custom initialization here 
    // such as default variable state 
} 

-(void)dealloc 
{ 
    [super dealloc]; 
} 

-(void)encodeWithCoder:(NSCoder*)coder 
{ 
    [super encodeWithCoder:coder]; 
} 

+(Class)cellClass 
{ 
    return [NSActionCell class]; 
} 
@end 

cellClass 방법은 사용자 지정 컨트롤 액션 메시지를 발사 것을 보장 할 때 사용자 그것과 상호 작용합니다.

그런 다음 파형을 drawRect :에 그리는 경우와 mouseDown : mouseDragged : 및 mouseUp : 메시지를 재정 의하여 범위 선택을 처리해야합니다.