2014-03-12 53 views
3

我有一個NSTextField,默認情況下它不可編輯,並且是第一響應者。
只要點擊它,我想讓NSTextField可編輯/激活。
我的子類,並用鼠標按下事件:需要在NSTextField上點擊兩次才能激活

- (void)mouseDown:(NSEvent *)theEvent 
{ 
    NSLog(@"link mouse down"); 

    [self setEditable:TRUE]; 
} 

不過,我需要點擊的NSTextField 2倍,成爲活躍和可編輯的,但每一次點擊,我可以正常看到的NSLog「鼠標按下」。
我忘了做什麼?謝謝

+1

這是完全正常的行爲afaik。當你點擊一個文件名進行編輯時,它的工作方式與Finder中的相同。 –

+0

謝謝。如果我想達到自己想要的目標,將會怎樣? –

+0

確定這是一個雙擊,而不是普通的點擊延遲(同樣在Finder中)將激活文本字段..? – Jay

回答

1

在您的NSTextField子類中,嘗試覆蓋-acceptsFirstMouse:並返回YES。雖然,擺脫你的-mouseDown:覆蓋。

相關問題