0

UICollectionViewController のサブクラスである DisplayOptViewController クラスがあります。ユーザーが現在のページのナビゲーション バーのボタンをクリックしたときに、この CollectionViewController を表示したいと考えています。ボタンクリックでCollectionViewをロードできますが、ナビゲーションバーが表示されません。ユーザーがナビゲーションバーに戻るボタンを表示できるようにしたいのですが、ボタンをクリックすると現在のページに戻るはずです。私はストーリーボードとプログラムでこれをやろうとしました。ストーリーボードでこれを試してみると、ViewController 自体が表示されず、View Controller オブジェクトをプログラムで作成すると、ナビゲーション バーが表示されません。これを行う方法はありますか?

このコードを のviewDidLoadメソッドに追加しようとしましたDisplayOptViewController:

UINavigationBar *navBar=[[UINavigationBar alloc] init];
[[self navigationController] setNavigationBarHidden:NO animated:YES];
[self.navigationController.navigationBar addSubview:navBar];

しかし、ナビゲーション バーはまだ表示されません。親切に助けてください。

アップデート

ここに UICollectionView をロードしています

UICollectionViewFlowLayout *aFlowLayout = [[UICollectionViewFlowLayout alloc] init];
[aFlowLayout setItemSize:CGSizeMake(140, 50)]; 
[aFlowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
DisplayOptViewController *vc=[[DisplayOptViewController alloc] initWithCollectionViewLayout:aFlowLayout];
[self presentViewController:vc animated:YES completion:nil];
4

2 に答える 2

0

いくつか質問がありますが、

[self.navigationController.navigationBar addSubview:navBar];

ナビゲーションバーにナビゲーションバーを追加しています....代わりにこれを行います

[self.navigationController setNavigationBar:navBar];

2番目

[self presentViewController:vc animated:YES completion:nil];

あなたはコントローラーを提示しています....プッシュ/ポップではありません....

[self.navigationController pushViewController:vc animated:YES];

プログラムでそれを行うときにそれを試してください

ストーリーボードに関しては、おそらくセグエが正しく設定されていないか、プロパティが正しく設定されていないか、何か...しかし、このようにデバッグすることはできません

于 2013-05-02T13:57:37.097 に答える