創建一個自定義控件。下面是我爲我的自定義控件做:
先在接口:
@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:消息來處理範圍選擇。
+1爲您的音樂品味。 – yuji 2012-03-27 21:57:59
看起來不像我的滑塊。我懷疑這是一個自定義控件。 – 2012-03-27 22:23:34