2010-01-26 72 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

相关问题