與面試官淺談UI

看到標題,如果你認為UI沒有什么可聊的,那么你就聽我講述下UI

“當我們在iPhone、iPad等iOS裝置上,用手指按到一個按鈕上的時候,事實上,我們並不是真的按在一個按鈕上,而是按在螢幕上—是觸控螢幕的硬體接收了我們的輸入之後,再將我們的觸控輸入送到軟體中,最後營造了「我們的手指按到了按鈕上」的幻覺。

從工程師的角度來看,所謂的UI都只是幻覺,「手指按到了螢幕中的按鈕」這件事情本身並不存在。而製作UI,就是在製造幻覺;UI設計,就是你打算營造”

“怎樣的幻覺。iOS 7之前,蘋果是透過漸層與逼真細膩但靜態的圖示製造光影的幻覺,在iOS 7之後,圖示變成扁平化設計,但是改用motion effect等動畫效果,創造深度的錯覺。

不同於其他的開發平臺,在iOS與Mac OS X上,事件(Event)只用來表達來自硬體的各種輸入行為。在iOS上的UIEvent包含了觸控輸入、藍芽耳機遙控換歌等,Mac OS X上的NSEvent則包括了鍵盤、滑鼠事件。”

“在iOS裝置上,當硬體發生觸控事件,到我們的按鈕發生反應之間,事實上經歷了:

硬體把事件傳到我們的App中,交由UIApplication物件分派事件

UIApplication把事件傳送到Key

Window中,接著由Key Window負責分派事件

Key Window開始尋找在View

Heirarchy中最上層的view controller與view,然後,發現最上層的view ”

“UIResponder protocol。回到我們會給一個專有名詞的習慣,所謂responder,就是「可以處理事件的物件」。

在一堆可以處理事件的物件中,最後被分派到、把事件處理掉的物件,叫做first responder,而這種一環又一環尋找誰該處理事件的鎖鏈,叫做Responder Chain。

而這個流程,會在runloop當中不斷循環。”

而上述就是我想要時說的UI

內容源自 iOS核心動畫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 勇利的運氣糟透了。 他覺得只有這個原因可以解釋到底為什麼這種事情會發生在他身上。 他並不覺得自己是個沒禮貌的人,但...
    AmandaHuang閱讀 1,002評論 0 2
  • 你嫌鐘表太吵嗎 秒針的滴滴答答 可相比人間的嘈雜 它更像木魚在敲打 你以為它只是閑暇時的閑話 卻沒想過一聲聲的滴答...
    段童閱讀 184評論 1 1
  • 人們把蝎子放到火炭中。火炭越來越旺,蝎子拼命掙扎,卻沒能成功。繼而,它用自己的毒刺刺向自己,停止了掙扎。待到人們走...
    我是星星i閱讀 263評論 0 0
  • 21/21 胖媽的自我救贖第一階段突然發現一不小心又斷了好幾天了。這樣真心不行。最近一個是太累,二個是情緒出現了問...
    summer1210閱讀 147評論 0 0
  • 我說說我的想法 1.能不能組合一下,我們剛畢業的其他班優秀,善于分享,積極參與者加入 2.慢以志遠,我們一個模塊一...
    祁紅蓮閱讀 135評論 0 0