我正在编写一个基于视图的应用程序,但我对加载我的视图感到有些困惑。我想在同一个窗口中同时加载四个不同的视图。我似乎无法弄清楚如何做到这一点。我更喜欢以编程方式执行所有操作,而不是使用界面构建器(如果可能)。
我的4个视图是:UIView,UIWebView,UITableView和带按钮的另一个UIView。
提前感谢您的帮助。
答案 0 :(得分:5)
iPhone应用程序中的视图按层次排列 - 也就是说,每个视图都有一个“父”视图(除了根视图)。这里有趣的是UIWindow本身是UIView的子类,因此您可以直接将所有四个视图添加到窗口中。 (这可能不是最佳方法,但它可能是最简单的。)
您真正需要做的就是以编程方式使用您希望它们在UIWindow中拥有的位置和尺寸初始化每个视图。您可以通过在init方法中或之后为每个视图提供frame
参数来实现此目的(取决于视图的类型)。因此,例如,在您的应用委托中,您可以添加以下代码:
CGRect frame = CGRectMake(0.0, 0.0, 100.0, 100.0);
UIView *view = [[[UIView alloc] initWithFrame:frame] autorelease];
[window addSubview:view];
这将创建一个100x100像素的视图,并将其添加到窗口的左上角。您可以为其他三个视图执行类似的操作。
请注意,开发人员通常不直接在app委托中初始化视图 - 更好的方法可能是让第五个视图作为其他四个视图的根视图,然后将该根视图添加到窗口。您可以使用第五个视图的视图控制器来简化此任务 - 将视图初始化代码移动到该视图控制器的实现中,然后从app委托中,您可以实例化视图控制器并让它从那里接管。
答案 1 :(得分:0)
您可以使用[self parentViewController]
来访问父UIView