iPhone / iPad上的一个屏幕上有多个视图?

时间:2011-01-06 09:37:22

标签: iphone objective-c tabs

我想在屏幕顶部构建自定义标签菜单,类似于您在Numbers应用中看到的菜单。 我以为我可以在两个视图之间划分屏幕:一个在顶部用于选项卡,一个用于选定的选项卡视图。 那可能吗?我可以有2个活动视图和视图控制器吗?

3 个答案:

答案 0 :(得分:1)

当然有可能。您可以将视图控制器中的视图添加为当前根视图控制器视图的子视图。

这样做(假设这是在UIViewController子类中):

UIViewController *newViewController = [[UIViewController alloc] init];
[self.view addSubview:newViewController.view];

非常好。

但是也要考虑你是否真的需要多个视图控制器,而不仅仅是其他视图。根据我的描述,我认为只需一个带有附加视图的视图控制器即可实现。

关于标签式菜单实施,UITabBarController是否符合您的需求? iOS应用程序中的选项卡式界面更常见的是使用这种标签栏,而不是标签位于顶部的桌面操作系统标签栏。

答案 1 :(得分:0)

正如我可以从各种来源获得的那样,视图控制器意味着控制一个占用应用程序窗口的视图,因此无法使用多个视图进行选项卡式菜单。

可能有以下可能性:

  • 将当前标签位置存储在某个应用程序级单例单例
  • 选择适当的标签后添加新视图
  • 选择视图时重新绘制选项卡菜单(在新视图中或从堆栈中检索)

有没有人有更好的想法?

答案 2 :(得分:0)

试试这个:

 UIView *contentView1=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
 UIView *contentView2=[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

 [self.view addSubView:contentView1];
 [self.view addSubView:contentView2];