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