我正在使用NSTextView來允許多行輸入。但是,由於我的應用程序的性質,用戶在按TAB時會更加舒適地轉向下一個輸入元素。如何讓Tab鍵將焦點移出NSTextView?
如何讓TAB退出NSTextView,同時保持Enter鍵的換行符?
我正在使用NSTextView來允許多行輸入。但是,由於我的應用程序的性質,用戶在按TAB時會更加舒適地轉向下一個輸入元素。如何讓Tab鍵將焦點移出NSTextView?
如何讓TAB退出NSTextView,同時保持Enter鍵的換行符?
你需要在子類中實現它。
我爲Translate Text寫了這樣一個子類。歡迎您使用its BSD license。這裏的the header和the implementation file。
...同時保持Enter鍵的換行符?
我的主要目的是當用戶按下回車鍵時將動作發送到目標,並且我也從視圖中將焦點放在了焦點上。但是,兩者都是代碼中的明確聲明;您可以簡單地將該代碼註釋掉或將其刪除。
你可以在你的文本視圖的委託實施-textView:doCommandBySelector:
:
- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)aSelector {
if (aSelector == @selector(insertTab:)) {
[[aTextView window] selectNextKeyView:nil];
return YES;
}
return NO;
}
見http://developer.apple.com/documentation/Cocoa/Reference/NSTextViewDelegate_Protocol
非常好的方法。你也可以檢查'insertBacktab:'並以類似的方式調用'selectPreviousKeyView:'。 – 2011-09-23 06:49:36
用於輸入授權碼在標題爲kVK_ANSI_KeypadEnter定義。同樣,Tab是kVK_Tab。 – 2013-07-25 04:21:17