落格輸入法是如何處理按鍵消息的

要做一款移動設備上的軟鍵盤,那麼怎麼處理用戶的點擊位置,就是你遇到的第一個難題,在這個問題上,我也走了很長的路。

我把落格輸入法開發以來的觸控邏輯大致分類為三個階段,現在分別來講講設計思路,希望能夠對你有所幫助。

第一代觸控引擎

顯然,對於一個初學者來說,沒什麼比系統控件更好用的了,功能全[……]

點擊跳轉以繼續閱讀

讓 iOS macOS 中文字體實現視覺垂直居中

在開發落格輸入法 macOS 的時候,我遇到了一個比較奇葩的問題,這個問題一直困擾我到現在——當有些地方需要垂直居中顯示一排文字的時候,如何讓這些字真正的“居中”?

 

乍看之下這似乎沒什麼道理,垂直居中嘛……等等,macOS 上的 [crayon-5d345d920362e1[……]

點擊跳轉以繼續閱讀

Swift 裡的數組去重方案

在使用 Swift 進行開發落格輸入法時,我遇到了一個很有意思的問題——去重

眾所周知,輸入法的候選在計算出來後總會有可能是重複的選項(比如碼表和詞庫中都有某個詞,也許他們編碼不同,但字是一樣的之類),這時候就需要去重,但又要保持候選的先後順序不變。

別人的解決方案

如果你去網上找,那麼[……]

點擊跳轉以繼續閱讀

落格輸入法 macOS 2 是如何為 VoiceOver 進行優化的

在兩年前,我曾寫過一篇名為《ios 為視障用戶支持 VoiceOver》的文章,裡邊主要介紹了 iOS 端該如何為 VoiceOver 進行必要的支持,後來我又開發了 macOS 端的落格輸入法,但很遺憾由於 macOS 自身系統 bug,第三方輸入法根本無法獲得 VoiceOver 焦點(主要是[……]

點擊跳轉以繼續閱讀

swift4 url​​Session get和post網絡請求

廢話不多說,直接上代碼。

得到:

POST:

 [……]

點擊跳轉以繼續閱讀

Swift 中如何使用字典類型作為範型約束

今天學員群裡有人提了這麼一個問題,為什麼把特性的字典類型作為範型類型約束的時候,就必然報錯?

顯然,說的很明確了,“你不能從一個非協議、非類的類型繼承”。顯然,字典是個範型結構體……

那麼解決思路也很明確了,創建一個[……]

點擊跳轉以繼續閱讀

NSTextField 文本模糊的解決辦法 canDrawSubviewsIntoLayer

在開發落格輸入法 macOS 的過程當中,我一直被一個奇怪的問題所困擾——文本模糊。

次像素

無論我怎樣調試,落格輸入法的候選文字都無法達到原生文字的那樣清晰和銳利。在請教了大神之後,得到的活久見經驗是——上游次像素渲染 錯誤。

在很多平台都有類似問題,MACOS[……]

點擊跳轉以繼續閱讀