ビューコントローラーを別のビューコントローラーにサブビューとしてロードしようとすると問題が発生します。
私が持っているのは、完全に機能するビュー(ポップやプッシュなど)としていくつかのviewControllerをロードするNavigationControllerです。次に、switch ステートメントを使用してすべての選択内容を確認する viewController に tabBar を配置することにしました。この switch ステートメントは、navigationController 内に表示される viewController の 1 つ内のメソッドを呼び出します。次に、このviewController内のメソッドは、別のviewcontrollerを、ナビゲーションコントローラー内のviewcontrollerのサブビューとして設定しようとします。
これは私のコードです。
TabBarViewController.m
#import "DetailViewController.h"
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
switch (item.tag) {
case 0:
{
NSLog(@"item 1 selected");
DetailViewController *dVC = [[DetailViewController alloc] init];
[dVC tabBarSelectedAction];
}
break;
default:
break;
}
}
これにより、タブバーで選択されたアイテムがキャッチされます...次に、DetailViewControllerメソッドにメッセージを送信して、新しいサブビューをDetailViewController.viewにロードします
- (void)tabBarSelectedAction
{
ButtonOneViewController *b1VC = [[ButtonOneViewController alloc] initWithNibName:@"ButtonOneViewController" bundle:[NSBundle mainBundle]];
[self.testView addSubview:b1VC.view];
}
これは、サブビューを画面にロードしようとしている場所です..私はそれを正しくやっていると思いますが、何らかの理由で表示されません..もう1つやりたいことは、このビューを画面の下部から上にアニメーション化することです..
どんな助けでも大歓迎です。