0

私はUITabBarに何らかの問題を抱えており、その件に関してオンラインで何かを見つけることができません。かなり私はビュー(TestView)と他のビューに含まれているTabBarを表示する:緑色のビューと赤いビュー。だから最初はTestViewのタブバーに2つのタブ、1つは緑のビュー、もう1つは赤いビューのタブバーが表示されます。これらのタブの1つがタッチされると、適切なビューが表示されます。しかしTestViewのタブはありませんUITabBarにないビューを表示しているときにUITabBarを持っていますか?

しかし、相続人MainAppDelegateコードと私は

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

//Create the TabBar VC and ButtonSelect VC 
testView = [[TestViewController alloc] init]; 
tabBarController = [[UITabBarController alloc] init]; 

//Create the viewcontroller's For the TabBarController 
UIViewController *gvc = [[GreenViewController alloc] init]; 
UIViewController *rvc = [[RedViewController alloc] init]; 

//Make a array to containing the two viewcontrollers (for TabBar) 
NSArray *viewControllers = [NSArray arrayWithObjects:gvc, rvc, nil]; 

//Attach the VC's to the TabBar 
[tabBarController setViewControllers:viewControllers]; 

//Set to window 
[window addSubview:[tabBarController view]]; 
[window addSubview:[testView view]]; 


[window makeKeyAndVisible]; 

[rvc release]; 
[gvc release]; 

return YES; 

}

そしてThis何を得るの絵は、私が何を得る..です

してください彼lp

答えて

0

testViewのフレームを調整します。たとえば、

testView [[TestViewController alloc] initWithFrame:CGRectMake( 0.0、20.0、320.0、421.0)];

ここでは「魔法の数字」を使用しましたが、ステータスバーとタブバーの高さを確認する方がよいでしょう。コメント


だから、ユーザーがタブのいずれかを選択した場合、テストビューを閉じたいです。 UITabBarControllerにデリゲートを設定し、tabBarController:didSelectViewController: `メソッドを実装することで、タブが選択された瞬間を知ることができます。基本的には、このメソッドでテストビューを閉じます。

アプリケーションのデリゲートをUITabBarController(tabBarController.delegate = self;)のデリゲートとして設定する方法があります。 tabBarController:didSelectViewController:を実装します。アプリケーションウィンドウからテストビューを削除し、tabBarController.delegate = nil;を実行します。

+0

私はサイズ変更を修正しましたが、私はまだデフォルトでビューを表示するようにtestViewControllerを取得できません。また、緑色と赤色のビューはTabBarがタッチされたときにのみ表示されます – srome11

+0

元の回答。 – MHC

関連する問題