? ? ? ?UIView大體分為“控件”和“視圖”兩類(lèi),二者均繼承于UIView。UIView類(lèi)的繼承層次如圖1所示。
圖1 UIView的繼承層次圖
? ? ? ?UIControl類(lèi)是控件類(lèi),其子類(lèi)有UIButton、UITextField和UISlider等。之所以稱(chēng)它們?yōu)椤翱丶?lèi)”,是因?yàn)樗鼈兌加心芰憫?yīng)一些事件。為了查看這些事件,我們可以在Interface Builder中拖曳一個(gè)UIButton控件到設(shè)計(jì)界面,然后選中這個(gè)Button,單擊右上角的圓箭頭按鈕,打開(kāi)連接檢查器,如圖2所示。
圖2 UIButton的事件
? ? ? ?其中Sent Events欄中的內(nèi)容就是UIButton相對(duì)應(yīng)的高ji事件。UIControl類(lèi)以外的視圖沒(méi)有這些高ji事件,這可以借助HelloWorld工程中的Label控件驗(yàn)證一下。選中UILabel控件,打開(kāi)連接檢查器,如圖3所示??梢园l(fā)現(xiàn)UILabel的連接檢查器中沒(méi)有Sent Events欄,即沒(méi)有高ji事件,不可以響應(yīng)高ji事件。
圖3 UILabel沒(méi)有高級(jí)事件
? ? ? ?事實(shí)上,視圖也可以響應(yīng)事件,但這些事件比較低級(jí),需要南昌APP開(kāi)發(fā)人員自己處理。很多手勢(shì)的開(kāi)發(fā)都以這些低級(jí)事件為基礎(chǔ)。