2010-10-18 25 views
1

我剛剛注意到當我的用戶界面處於特定狀態時出現問題。我有一個兩列的表格視圖,用戶可以輸入稍後使用的數據。還有一個按鈕,它對錶格視圖的內容起作用。如何強制從NSButton在NSTextField中完成輸入

問題是,如果用戶在列中輸入了新數據但尚未使用Tab鍵或返回鍵退出該字段(即光標仍處於字段和編輯模式中)並且按鈕是按下舊值不是用於坐在現場的當前值。

處理這個問題的最好方法是什麼?我想要使​​用用戶輸入的任何內容。

基本上,按鈕代碼需要告訴文本字段完成或退出編輯模式。但我似乎無法找到一種方法可以做到這一點。

回答

0

找到答案,至少對我而言。

找出是否選擇了一行,如果是,取消選擇它。這導致當前條目完成。

- (void) completeTableEntry 
{ 
    // If a column is selected ensure it is completed 
    NSInteger sr = [keyValueTable selectedRow]; 
    if (sr != -1) { 
     [keyValueTable deselectRow:sr]; 
    } 
} 
+0

我討厭裝訂,就像看黑洞一樣。 – tgunr 2011-05-11 06:39:53

2

使用綁定。在Interface Builder中,選擇表列,然後在Inspector中轉到表列綁定並適當地設置值內容綁定,並確保選中「連續更新值」選項。然後,更改表格單元格內容將立即傳播。

0

如何:

[theTargetWindowWhateverThatIs endEditingFor:nil]; 

theTargetWindowWhateverThatIs可能,例如,self.window如果你是一個NSWindowController內。

相關問題