/ /ストーリーボードを使用したダブルUITabViewControllers-iphone、ios、xcode、ios5、ストーリーボード

ストーリーボードを使用するダブルUITabViewController - iphone、ios、xcode、ios5、storyboard

現在、私は5つのボタンをホストするfirstTabViewControllerは、それぞれテーブルビューをロードします。ユーザーがテーブルセルの1つを選択すると、4つの異なるタブボタンのセットでsecondTabViewControllerが開きます。また、Navigation Controllerを埋め込みます。

ストーリーボードを介してセットアップし、登場しましたいくつかの問題があります。まず、secondTabViewControllerをロードするときに、firstTabViewController内にロードするため、2つのタブボタンが互いに重なり合っています。セグエをモーダルに変更すると、secondTabViewControllerは正しくロードされますが、Navigation Controllerを使用して戻ることができません。

これに対する解決策はありますか、またはストーリーボードを使用して時間を無駄にするのを止めて、プログラムで設定するだけですか?

スクリーンショット: ストーリーボード

回答:

回答№1は0

タブバーを非表示にしたいときにこのコードを使用します。 どこから盗んだのか忘れていましたが、それはここにあると確信しています。

- (void) hideTabBar:(UITabBarController *) tabbarcontroller {


[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}

}

[UIView commitAnimations];





}

- (void) showTabBar:(UITabBarController *) tabbarcontroller {

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{

if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];

}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}


}

[UIView commitAnimations];
}

回答№2の場合は0

元の戦略を使用し、2番目のTab Bar Viewを開いたときに最初のTab View ControllerのTab Barを非表示にします。