iOS學習開發2 UIView和UIWindow

2021-07-04 06:06:14 字數 1089 閱讀 8172

言歸正傳,在網上看了好多大神的帖子,基本上算是懂了。

首先說一下uiwindow:指的是乙個視覺化視窗,其他的不用管,在目前的iphone/ipad開發中,幾乎都是乙個視窗,這個視窗本身是沒有內容的,它的作用是僅僅只作為乙個畫布,讓開發者往畫布上畫東西(新增各種檢視),傳遞觸控訊息到程式中view和其他物件。

uiwindow有顯示的級別:uiwindowlevel:

const uiwindowlevel uiwindowlevelnormal;

const uiwindowlevel uiwindowlevelalert;

const uiwindowlevel uiwindowlevelstatusbar;

typedef cgfloat uiwindowlevel;

可以用addsubview來新增子類,不管誰新增它,只要越晚新增,檢視就在越上層移除父檢視也會把它得子檢視移除,也可以通過設定子類的alpha(透明度)來讓父類更明顯一點。

子類在父類上的顯示位置可以設定:有frame:該view在父view座標系統中的位置和大小。(參照點是父親的座標系統)

bound:該view在本身座標系統中 的位置和大小。(參照點是本身座標系統)

center:這個就不用解釋了。。。

那下面就說一下uiview和uiwindow的關係吧。

uiwindow繼承自uiview,關於這一點可能有點邏輯障礙,畫框怎麼繼承自畫布呢?不要過於去專牛角尖,畫框的形狀不就是跟畫布一樣嗎?拿一塊畫布然後用一些方法把它加強,是不是可以當乙個畫框用呢?這也是為什麼 乙個view可以直接加到另乙個view上去的原因了。

self.window = [[[uiwindow alloc] initwithframe:[[uiscreen mainscreen] bounds]] autorelease];  

self.window.backgroundcolor = [uicolor graycolor]; //給window設定乙個背景色

[self.window makekeyandvisible]; //讓window顯示出來

iOS學習筆記2 UIView的巢狀

前面我們大致了解了uiview的情況,當然,日常的開發中,uiview還需要更多的功能,其中最多的,就是uiview的巢狀,下面就來了解一下 利用addsubview方法在uiview追加子元素,這裡我們依然用前面的 進行新增 這裡就按鈕的基本設定做了簡要介紹,以後有機會,會就uibutton的更多...

iOS開發之UIView和CALayer的區別

最大的區別是 圖層 calayer 不會直接渲染到螢幕上。uiview是ios系統中介面元素的基礎,所有介面元素都是繼承自它。它本身完全是由coreanimation來實現。真正的繪圖部分,是由乙個calayer類來管理。乙個uiview上可以由n個calayer,每個calayer顯示一種東西,增...

iOS開發 UIView動畫

ios 動畫 uiview動畫 原文 1.概述 uikit直接將動畫整合到uiview類中,實現簡單動畫的建立過程。uiview類定義了幾個內在支援動畫的屬性宣告,當這些屬性發生改變時,檢視為其變化過程提供內建的動畫支援。執行動畫所需要的工作由uiview類自動完成,但仍要在希望執行動畫時通知檢視,...