2012-04-30 5 views
1

アクティブなタブ項目に関係なく、常に存在するヘッダーイメージを持つタブアプリケーションを作成したいとします。ヘッダー画像をタブアプリケーションの上部に固定するにはどうすればよいですか?

の例では、フォースクエアのようになります。

enter image description here

私は、ボタンを配置し、そのヘッダに表示されるさまざまな情報を持つことができるようにしたいです。

これは単純なナビゲーションバーなのですか?

答えて

0

私は最も簡単な方法を見つけましたdoは次のように書いてください:

- (void)viewDidLoad 
{ 
    [[UINavigationBar appearance] setBackgroundImage: 
    [UIImage imageNamed:@"UINavigationBar.png"] forBarMetrics:UIBarMetricsDefault]; 
} 

私のMainViewControllerと、各viで作成されるすべてのナビゲーションバーewコントローラはそのように設定されます。

0

単純なナビゲーションバーのように見えますが、まったく単純ではありません。バーにNavigationItemを配置/作成し(バー自体を配置/作成した後)、titleViewを画像とともにカスタム表示に設定する必要があります。ドキュメントによると、左のバーのボタン(最初の画面で閉じる)はゼロでなければならず、さもなければtitleViewは無視されます。左ボタン用のこのカスタムビューにボタンを配置することはできますが、

3

通常、タブごとにviewControllerが関連付けられています。あなたは "タブ付きアプリケーション"を選択すると、xcodeが作成する定型文でそれを認識することができます。各viewDidLoad内または各initにおけるその後 は、あなたが設定できるのViewController:それぞれのViewControllerであなたのコントロールと

self.navigationItem.titleView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]]; 

それからちょうど変更self.navigationItem.leftBarButtonItemself.navigationItem.rightBarButtonItem

編集:あなたはnavigationcontrollersを使用する場合は、このようなものを設定しました(didFinishLaunchingWithOptions方法で)appDelegateで

UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
UINavigationController *myNav1=[[UINavigationController alloc] initWithRootViewController:viewController1]; 
UINavigationController *myNav2=[[UINavigationController alloc] initWithRootViewController:viewController2]; 
UIImage *navBackgroundImg = [UIImage imageNamed:@"bg_navBar.png"]; 
UIImage *tabBackgroundImg = [UIImage imageNamed:@"bg_tabBar.png"]; 
[myNav1.navigationBar setBackgroundImage:navBackgroundImg forBarMetrics:UIBarMetricsDefault];//iOS 5 only 
[myNav2.navigationBar setBackgroundImage:navBackgroundImg forBarMetrics:UIBarMetricsDefault];//iOS 5 only 
[[UITabBar appearance] setBackgroundImage:tabBackgroundImg];//iOS 5 only 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:myNav1, myNav2, nil]; 
self.window.rootViewController = self.tabBarController; 
+0

これはうまくいきませんでした...たぶん私は何か間違っています...しかし、タブ付きアプリケーションを作成すると、ナビゲーションバーが表示されません。ナビゲーションバーを特定のタブビューにドラッグするだけでいいですか? –

+0

@DanielRibeiro回答が更新されました。私の編集を参照してください.. – Mat

関連する問題