2012-05-04 10 views
0

私はIphoneを初めて使い、いくつかの特定のページだけをロードするカスタムタブバーを追加したアプリケーションを開始しました。タブバーは私の期待どおりに動作します。でiOS5カスタムタブバー

#import <UIKit/UIKit.h> 
@class MainMenuViewController; 

@interface RoutineListViewController : UIViewController<UITabBarDelegate>{ 
    MainMenuViewController *homeBtn; 

    UITabBar *mainTabBar; 
    UIViewController *routineTabViewController; 
    UIViewController *calendarTaViewController; 
    UIViewController *editTabViewController; 
} 

@property (nonatomic, retain) IBOutlet UITabBar *mainTabBar; 
@property (nonatomic, retain) IBOutlet UIViewController *routineTabViewController; 
@property (nonatomic, retain) IBOutlet UIViewController *calendarTabViewController; 
@property (nonatomic, retain) IBOutlet UIViewController *editTabViewController; 

- (IBAction)goToHome:(id)sender; 

@end 

:今、問題は、私はタブバーが表示し続け、他のページに移動し、それは私のために深刻な問題を引き起こしたときに... はここに私の実装の.hで

である、ということです。他のページに移動するためのボタンを実装すると、タブバーが表示され続けます。 EditTabViewController.mファイル内のボタン実装は次のとおりです。 Appleのルールパー

- (IBAction)goToHome:(id)sender { 
    homeBtn = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil]; 
    [self.view addSubview:homeBtn.view]; 
} 
+0

申し訳ありませんが悪い形式... –

答えて

1

、TabBarControllerは、メインの容器であることをを想定しています。さらに、カスタムUITabBarを実装するだけの場合は、そのユーザーを他のビューにプッシュするために使用していますか?もしそうなら、UITabBarが消えると、ユーザーはどのように返ってくるのですか?特定のページが表示されているときにのみバーが表示したい場合は、なぜUINavigationController(メインコンテナとして)を実装し、ルートを持っていない

UIViewController同じ機能を実行しUIToolbarを実装します。次に、別のページに移動すると(UIPageControlの別のページやUIWebViewのWebページではない新しい画面が表示されていると仮定しています)、UIToolbarを含まない新しいUIViewControllerをプッシュします。

このようの種類:

--UINavigationController 
    | 
    -->UIViewController as RootViewController --> Contains UIToolbar 
     | 
     -->Pushes UIViewController --> Has no UIToolbar 

編集/更新

私はちょうどあなたのコードを見て、私はあなたがしようとしているものを理解していません達成する。私はあなたが何とか実際には1つを使用せずにUINavigationControllerのような振る舞いを実装しようとしているかもしれないと思う。

UINavigationController (containing IconMenuViewController as RootViewController) 
| 
--> PageViewController (push into this from any icon touch in IconMenuViewController) 
     --> Contains UIToolbar/UITabBar 

あなたは上記の階層を使用する場合は、UINavigationControllerは自動的にあなたを提供します:私はあなたがこのように実装することができます行動を望んでいると思う


編集/更新#2 NavigationBarを画面上部に表示し、戻るボタンを押します。 UIToolbarまたはUITabBarPageViewControllerの一部にしている限り、プッシュしてポップアップすると、表示コントローラーで表示され消えます。それは理にかなっていますか?

+0

私は何をしようとしている...私はUIViewControllerいくつかのメニューアイコンがあります。任意のアイコンをクリックすると、3つのタブを含むページに移動し、上部にメインメニュー(タブバーページが来る場所)に戻るための「ホーム」ボタンがあります。私は上記のコードを使ってすべてを実装しましたが、 "Home"ボタンをクリックするとメインメニューページに移動しますが、下部にタブバーがあります。私は自分のコードが正しいかどうかはわかりません。親切に私を助けてください。 –

+0

私が言及したように、あなたはむしろ 'UIToolbar'を使うかもしれないと私は思っていますが、どんな場合でも、あなたのように聞こえます**' UINavigationController'を使っているセットアップはありません**。あなたが苦労している機能のいくつかを自動的に管理すると思うので、ナビゲーションベースのアプリを見てください。 – mbm29414

+0

助けてくれてありがとう。私もそれを試してみる... –