2016-12-20 17 views
2

選択可能とのmouseupイベント:NSTextField私は自分のNSTextFieldオブジェクト作成した

@interface MyTitleLabel: NSTextField 
@end 

@implementation MyTitleLabel 
- (void)mouseUp:(NSEvent *)event { 
    NSLog(@"up"); 
} 
@end 

は、このようにそれを初期化:

MyTitleLabel* title_field = [[MyTitleLabel alloc] init]; 

問題がある私が持っている場合:

[title_field setSelectable:YES]; 

mouseUpイベントはではなく、がトリガーされます。しかし、もしそれがNOに設定されているとします。しかしNSTextFieldselectableで、mouseUpイベントが必要ですか?

NSTextFieldでテキストを選択した後は、- (void) rightMouseDown:(NSEvent *)event;が呼び出されないという問題もあります。

+0

は何ですか?あなたの 'MyTitleLabel'が最初のレスポンダーになったときに聞きたいと思うようです。 – JAL

+0

私のnstitlelabelは、HTMLリンクの動作と同じように動作します。私は現在、それをクリックする**または**ラベルのテキストを選択する** **ではない** – maxisme

+1

'attributedStringValue'と' NSLinkAttributeName'属性を持つ属性付き文字列を使用します。 – Willeke

答えて

-1

テキストフィールドの機能は、ほとんどの作業を行うNSTextFieldCellとそれを所有するコントロールNSTextFieldによって実装されています。

さらに、編集中にフィールドエディタが機能します。

Appleのドキュメントには、この関係を説明する:あなたの最終目標は、

https://developer.apple.com/library/content/documentation/TextFonts/Conceptual/CocoaTextArchitecture/TextFieldsAndViews/TextFieldsAndViews.html