查看控制器

时间:2010-02-21 18:29:09

标签: iphone xcode

好的,我已经阅读了书籍上的所有书籍,其中包含多个具有自己的笔尖的视图控制器以及阅读苹果文档的好例子。

我的问题是:所有示例都显示通过工具栏或标签栏显示多个视图。用户单击其中一个按钮上的某个按钮,将显示一个新视图(显示选项卡/工具视图栏),然后他们可以单击选项卡/工具栏上的另一个按钮并转到另一个视图。

这是唯一可行的方法吗?如果我想在屏幕中间有一个带有三个按钮的主屏幕(玩游戏,规则,高分),并且点击时,让它调出正确的nib文件,这只能通过工具栏完成/标签栏?如果是这样,在某些不存在的应用中,这是因为它是“隐藏”的吗?

我知道这可能是最基本的事情之一,但我似乎无法理解这一点。

我已经阅读了有关视图,子视图等内容,并且在我继续进行时似乎变得更加困惑。如果我完全不在这里,那么有一个例子会有这样的例子:

mainViewController,带有3个按钮的nib 单击任何按钮将使用自己的笔尖调用另一个单独的视图。在那个视图中,我可以做任何想做的事,然后有一个按钮,可以让我回到mainViewController。

非常感谢任何帮助/示例。

...地理位置

2 个答案:

答案 0 :(得分:1)

您无需使用UINavigationController来执行此操作...

这是我能想到的一种方式。假设如下:

mainMenuViewController - 具有3个按钮的视图控制器

view1ViewController - 您的第一个其他观点

view2ViewController - 您的其他观点中的第二个

view3ViewController - 您其他观点的第三个

让您在mainMenuViewController中调用view1的按钮创建UIViewController,然后从窗口中移除它自己,例如:

YourAppApplicationDelegate *delegate = (YourAppApplicationDelegate*)[[UIApplication sharedApplication] delegate]; [self.view removeFromSuperview]; [delegate.window addSubview:view1ViewController.view];

您也可以使用每个第二级视图控制器中的“返回主菜单”按钮执行相同操作。

答案 1 :(得分:0)

您可以使用UIViewController中的presentModalViewController / dismissModalViewControllerAnimated方法在视图之间往返,例如:

- (IBAction)button1IsPressed:(id)sender {
    UIViewController *controller1;
    [controller1 setDelegate:self];
    [self setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentModalViewController:controller1 animated:YES];
    [controller1 release];
}

- (void)dismissViewController {
    [self dismissModalViewControllerAnimated:YES];
}

然后在控制器1中调用此函数:

[self.delegate dismissViewController];

这只是一个例子,你可以做一些改进。