2013-10-30 59 views
2

我注意到我無法在NSSecureTextField中輸入俄文或阿拉伯文文本。爲什麼NSSecureTextField在某些語言中不支持字符串?

如果我的鍵盤設置爲俄語,例如,當我點擊NSSecureTextField,我的鍵盤會自動切換到英文,然後返回到俄羅斯時,我的存在NSSecureTextField.

同樣,我無法將鍵盤設置爲阿拉伯文只要有一個NSSecureTextField即可。

除阿拉伯語和俄語以外,可能還有其他語言。

爲什麼NSSecureTextField不支持某些語言的密碼?是否有任何安全問題?它會破壞OSX鑰匙串?

我需要知道如果我重寫此行爲,我會意識到可能的副作用。

其次,是否有任何自定義NSSecureTextField像支持所有語言的控件?我的搜索返回零。

回答

1

NSSecureTextField限制可用的輸入方法,以避免將密碼文本顯示爲內嵌標記文本或編輯窗口。例如,這也禁用一些多鍵「死鑰匙」組合,用於輸入重音字符。

關於輸入法

一些輸入法提交之前顯示您在中間的形式輸入,爲了讓你進行語言 - 或寫入系統特定的操作是解釋點擊和鍵盤輸入特殊而你'正在輸入文字。一些文本視圖中顯示文本「內聯」,文本將最終結束,其中一些將中間輸入顯示在單獨的浮動窗口中。

例如,日語的平假名輸入法顯示內嵌文本,您可以在將內容提交到文本內容之前選擇不同的解釋。另一個例子是通過「死鑰匙」輸入重音字符時,首先輸入重音,然後是基本鍵:重音顯示爲以黃色突出顯示的內嵌文本。

+0

謝謝克里斯回答這個兩歲的問題。對不起,我無法理解這部分'以避免將密碼文本顯示爲內嵌標記的文本或在編輯窗口中顯示。你能否詳細說明一下? –

相關問題