2012-09-23 73 views
0

如何創建自定義視圖中的超鏈接.. 我創建的NSView,是包含三個超鏈接,但在我的情況下,它會調用方法不屬於任何網絡鏈接如何在自定義視圖中創建超鏈接...?

+0

所以,你基本上想要一個按鈕,調用一個實例/類的方法,看起來像一個HTML超鏈接? – mark

+1

是的標記,我想要的按鈕,看起來像超鏈接和調用方法,它應該有相同的功能,超鏈接, –

+1

我刪除了可可觸摸標籤,因爲你說'NSView'。 Cocoa Touch適用於iOS並使用'UIView'。 'NSView'用於純Cocoa for OS X. – Jesper

回答

0

子類的NSTextField。

通過將backgroundColor屬性設置爲NSColor.clearColor來使背景透明。

使用跟蹤區域監控,當鼠標移動到它,所以你可以改變它的顏色:

NSTrackingArea* pTrackingArea= [[NSTrackingArea alloc] initWithRect:self.bounds options:NSTrackingActiveAlways | NSTrackingMouseMoved | NSTrackingMouseEnteredAndExited owner:self userInfo:nil]; 
[self addTrackingArea:pTrackingArea]; 

追蹤區的號召某些鼠標操作你的方法。在這種情況下:

-(void)mouseEntered:(NSEvent *)theEvent 
-(void)mouseExited:(NSEvent *)theEvent 

設置NSTextField子類的textColor屬性。

要確定當用戶點擊時,使用方法:

-(void)mouseUp:(NSEvent *)theEvent 

,並打電話給你從這個想要的任何方法。

+1

謝謝Mark :) –

+0

沒問題Bhavesh – mark