removeFromSuperview關鍵的幾個點

2021-06-16 21:35:37 字數 987 閱讀 9500

removefromsuperview

unlinks the receiver from its superview and its window, and removes it from the responder chain.

譯:把當前view從它的父view和視窗中移除,同時也把它從響應事件操作的響應者鏈中移除。

分析:

這裡有兩個關鍵點,可以幫助我們理解在ios當中view是怎麼來組織的:a。檢視的組織形式;b。響應者鏈;

今天只分析一下檢視的組織形式,關於響應者鏈是和事件處理息息相關的,另文再寫。

在ios當中,檢視的設計模式可以看做是元件模式,即以樹作為儲存的資料結構,這種資料結構具有明確的兩個特點:

1.父子關係分明,從根節點出發,通過葉節點向下擴充套件,同一枝的上乙個節點就是下乙個節點的superview,下乙個節點就是上乙個節點的subview;不同枝如果同層,則為兄弟節點。

2.layer關係分明,layer在ios中對事件響應具有舉足輕重的作用,通常兩個重疊的控制項,處在上層的會優先響應;

從上面文件的描述,我們可以看到,這兩個特性,也是view在操作時候的核心,即乙個view的操作關係到兩個方面,檢視結構和響應者鏈。

removefromsuperview,類似乙個剪枝,執行此函式,就等於在樹形結構中找到該節點,剪去該節點及其子節點,而並非只是剪去該節點自己。同時,另乙個操作就是把該物件從響應者鏈中移除。

譯:如果當前view物件的父檢視不為空,則父檢視會release一次當前檢視物件。如果你還想重用當前view,你應該在呼叫removefromsuperview之前,retain一次當前view物件,但不要忘記,在恰當的時候要release它,以確保沒有記憶體洩露。

never call this method from inside your view』s drawrect: method.

永遠不要在你的view的drawrect方法中呼叫removefromsuperview;

XAML的幾個關鍵概念

property elements 使用單獨的xml節點來表示wpf物件的屬性值,這樣就可以表示比較複雜的物件。比如使用property elements就可以這樣表示 yellow 對簡單物件似乎更複雜了,但是如果要表示更複雜一點的物件,比如 這時候,如果沒有property elements就很...

Nginx 幾個策略 的幾個關鍵字

down 表示單前的server暫時不參與負載.weight 預設為1.weight越大,負載的權重就越大。max fails 允許請求失敗的次數預設為1.當超過最大次數時,返回proxy next upstream 模組定義的錯誤.fail timeout max fails次失敗後,暫停的時間。...

類的幾個關鍵字

1 成員變數和區域性變數的區別 1 區域性變數 在方法中或者方法上 區域性變數在棧記憶體中 區域性變數隨著方法的結束而消失 區域性變數在使用前必須有值。2 成員變數 在類中方法外 在堆記憶體中 隨著物件的生成而出現,隨著物件的消失而消失 在初始化時可以不賦值。2 匿名物件 1 匿名物件一般只用一次,...