2016-05-04 5 views
0

私はアプリケーション全体の下に永続フッタ領域を追加したいプロジェクトを継承しました。アプリは、ログイン画面以外の場合は常に表示されるUITabBarControllerを使用しています。次のようにtabBarControllerが作成されます。UITabBarControllerの下に永続フッタを追加する

UITabBarController *tabBarController = [[UITabBarController alloc] init]; 
    UIStoryboard *sb1 = [UIStoryboard storyboardWithName:@"SB1" bundle:nil]; 
    // ... same for sb2 and sb3 

    [tabBarController setViewControllers:@[sb1, sb2, sb3]]; 
    [tabBarController setSelectedIndex:0]; 

私は手動でtabBarController.size.heightを設定しようとしましたが、何の影響も与えていないようです。私は前にstoryboardsを使用したことがありません、それらを使用するときにinitWithFrame何らかの方法がありますか?それとも私はこれを完全に間違った方法で近づけていますか?

+0

タブバービューコントローラを別のビューコントローラに埋め込むことができます。このようにして、タブバーコントロールをサイズ変更して移動し、タブバーの下に何かを追加することができます。 – werediver

答えて

0

ありがとう、私は正しい軌道に乗ってくれました。私は子ビューコントローラとしてUITabBarControllerを追加して手動でビューを追加することでそれを動作させました。

const CGFloat FOOTER_HEIGHT = 20; 

// Set up tab bar area 
CGRect contentFrame = [UIApplication sharedApplication].delegate.window.frame; 
contentFrame.size.height -= FOOTER_HEIGHT;      
UITabBarController *tabBarController = [[UITabBarController alloc] init]; 
tabBarController.view.frame = contentFrame; 

// Set up footer 
CGRect footerFrame = contentFrame; 
footerFrame.origin.y = contentFrame.size.height; 
footerFrame.size.height = FOOTER_HEIGHT; 
UIView *footer = [[UIView alloc] initWithFrame:footerFrame]; 

// Create outer view controller 
UIViewController *outer = [[UIViewController alloc] init];        
[outer addChildViewController:tabBarController]; 
[outer.view addSubview:tabBarController.view]; 
[outer.view footer]; 

[[UIApplication sharedApplication] keyWindow].rootViewController = outer; 
関連する問題