0

我有一个 iPad 应用程序,它在一个视图上有一个按钮。当我按下按钮时,我希望它加载第二个视图。我要加载的第二个视图是 CollectionView。我没有使用,也不想使用 UINavigationController。

有谁知道如何在按钮点击时加载第二个视图?此外,我还想创建一个返回上一个视图的返回按钮。每次点击按钮时,前一个视图可能会有所不同。

网上有很多关于这个主题的材料,但我找不到任何有用的东西或任何最近的东西。

这是我现在拥有的代码:

-(void)showCollectionView:(id)sender
{
    NSLog(@"In ShowCollectionView");

    ZHCollectionViewController *cvc = [[ZHCollectionViewController alloc]
                              initWithNibName:@"ZHCollectionViewController"
                              bundle:[NSBundle mainBundle]];
    [self.view addSubview:cvc.view];

    NSLog(@"After all the stuff");
}

当它运行时,两个 NSLog 都被执行并且消息显示在控制台中,但视图没有任何反应。

4

2 回答 2

0

你可以尝试以模态方式呈现它:

[self presentViewController:cvc animated:YES completion:^{
                                                         }];

在此调用之前,您可以通过定义过渡和演示样式来自定义“cvc”的外观,例如:

cvc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
cvc.modalPresentationStyle = UIModalPresentationFormSheet;

为了隐藏它在 ZHCollectionViewController 中调用,我相信在一些按钮操作中

[self dismissViewControllerAnimated:NO completion:^{  
                                                   }];
于 2013-03-26T16:41:55.017 回答
0

有几种方法可以做到这一点,而您尝试的方式不是其中之一。如果你只想添加一个视图,而不是视图控制器,你应该有一个 xib 文件,它是一个视图,而不是一个视图控制器。您必须使要将此集合视图添加到其视图的控制器成为此集合视图的文件所有者,以便您可以将任何出口连接到它。

将另一个视图控制器的视图添加到您的视图中是不正确的,除非您将该控制器设置为子控制器。如果您希望 ZHCollectionViewController 成为集合视图的控制器,那么您应该将该控制器添加为子视图控制器。您可以查看 Apple 关于自定义容器控制器的文档,了解它是如何完成的。

你在你的问题中并没有真正说这个集合视图是如何出现的。你想让它占据整个屏幕,还是你想让它成为一个子视图?如果您希望它占据整个屏幕,那么最好将窗口的根视图控制器更改为 ZHCollectionViewController,或者在当前视图上模态显示它。

于 2013-03-26T16:43:26.120 回答