2010-01-26 57 views
1

我正在尋找iphone的視圖使用情況的詳細分解/說明。喜歡,什麼控制器有什麼類型的意見,他們如何相關(父母),他們如何可以嵌套,添加和刪除等。Iphone查看詳細說明(View,Superview等)

最好有些圖片的東西也不錯(我是一個視覺學習者)。

但是,當在IB/Obj-c中使用時,對iphone視圖系統的深入技術性解釋是非常棒的。

此外,隨時給你的細分或職位資源,我會做研究。

感謝

編輯:

  • 好吧,我會更具體。查看堆棧 - 它是一個隊列嗎?當我調用addtosubview時,它看起來像什麼?

  • 如果視圖不是一個完整的UIView會發生什麼,但是說一個更小的UI控件 - 它會是可見的嗎?

  • 說我有一個UITabView(2項)和一個內容視圖是UITtableView。 什麼是父視圖?孩子們的順序是什麼?這一切都依賴於我如何將它們添加到視圖?在這種情況下,當我選擇按鈕時,UITabBar控件負責處理視圖。

  • 當我調用insertSubview時,我怎麼知道將它放置在哪個索引處?

回答

4

This will be一個很好的開始(從這裏的UIViewController和其他人,似乎有關去)。 UIView可以包含許多任何類型的子視圖(它們都從UIView繼承)。要嵌套視圖,請將子視圖添加到超級視圖[superview addSubview:subview]。您還應該閱讀Model-View-Controller

編輯: This SO question might also shed some light on the matter.

編輯編輯: 盡我所能做到爲您解答:

  1. UIViews有伊娃子視圖是子視圖的數組。其中每個都有這樣一個數組,並且可以包含UIViews。

  2. 我假設你的意思不是全屏,一般來說,最頂層的視圖是一個UIWindow,並且你可以添加你喜歡的任何UIView子類,比如UISlider。你的UIView有一個子視圖UITabView,我不知道具體的,但我想它有兩個子視圖,其中一個是可見的,其中一個是UITableView。順序取決於您添加它們的順序,並且它們將根據此順序相互重疊,但可以使用sendSubviewToBack和bringSubviewToFront更改順序。

  3. 如果你想要一個特定的視圖順序,你可能更好使用insertSubview:aboveSubview:和下面的等價物,而不是索引。

希望其中的一些幫助。

+0

我熟悉方法(addSubview,removeFromSubview) - 我對MVC非常熟悉。我想我需要編輯我的問題更具體。 – 2010-01-26 01:56:57

+0

我會閱讀第一個鏈接,因爲我以前沒見過。呵呵,是的,我已經看過UIView文檔,但我會給它一個很好的閱讀。 我對視圖背後的結構以及它們如何管理/處理更感興趣。 – 2010-01-26 01:59:52

+0

對不起,我有點讀爲iPhone開發新手。究竟是什麼讓你煩惱? – 2010-01-26 01:59:54

3

好吧,我會更具體。查看堆棧 - 它是一個隊列嗎?當我調用addtosubview時,它看起來像什麼?

我喜歡把它看成一棵樹。該窗口是根節點,並且它具有任意數量的子視圖。這些子視圖可以有任意數量的子視圖,只要有必要就可以創建完整的界面。 addSubviewremoveFromSubview方法操縱視圖的「子」。

如果視圖不是一個完整的UIView,而是說一個更小的UI控件會發生什麼?

我的理解是,屏幕上的所有東西都是UIView的子類,即使是UIControl對象。因此,他們的行爲基本相同。

說我有一個UITabView(2項)和一個內容視圖是UITtableView。父母的觀點是什麼?孩子們的順序是什麼?這一切都依賴於我如何將它們添加到視圖?在這種情況下,當我選擇按鈕時,UITabBar控件負責處理視圖。

我不確定:David的回答有更多的信息可以幫助。

當我調用insertSubview時,我怎麼知道將它放置在哪個索引處?

我不用擔心:大部分時間你只想addSubview,你不會在意內部的順序。

+0

很酷,感謝您的額外信息(+1)。欣賞它。 – 2010-01-26 20:28:43