0

1つのビューにボタンがあるiPadアプリケーションがあります。ボタンを押すと、2番目のビューが読み込まれます。ロードしようとしている2番目のビューはCollectionViewです。私は使用しておらず、UINavigationControllerを使用したくありません。

ボタンタップで2番目のビューをロードする方法を知っている人はいますか?また、前のビューに戻るボタンを作成したいと思います。ボタンをタップするたびに、前のビューが異なる場合があります。

このトピックについてはオンラインでかなりの量の資料がありますが、うまくいくものや最近のものは見つかりません。

これが私が今持っているコードです:

-(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

Yoはそれをモーダルに提示しようとすることができます:

[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

これを行うにはいくつかの方法がありますが、あなたが試みている方法はそれらの1つではありません。ビューコントローラではなくビューを追加するだけの場合は、ビューコントローラではなくビューであるxibファイルが必要です。このコレクションビューを追加するビューのコントローラーを、このコレクションビューのファイル所有者にして、任意のアウトレットを接続できるようにする必要があります。

そのコントローラーを子コントローラーにしない限り、別のビューコントローラーのビューをビューに追加することは正しくありません。ZHCollectionViewControllerをコレクションビューのコントローラーにする場合は、そのコントローラーを子ビューコントローラーとして追加する必要があります。カスタムコンテナコントローラに関するAppleのドキュメントをチェックして、それがどのように行われるかを確認できます。

このコレクションビューがどのように表示されるかについては、質問で実際には言いませんでした。画面全体を占めるようにしますか、それともサブビューにしますか?画面全体を占めるようにする場合は、ウィンドウのルートビューコントローラーをZHCollectionViewControllerに変更するか、現在のビューにモーダルで表示することをお勧めします。

于 2013-03-26T16:43:26.120 に答える