yamashiro0110の日記

yamashiro0110の日記です。おもにIT技術のメモを綴っていきます(^o^)

UIViewControllerでナビゲーションバーを表示する


UINavigationControllerでナビゲーションバーを表示するときφ(`д´)メモメモ...

特に難しいことないけど、(実装以外の部分で)ハマってしまったので残しておく・・・


やりたいこと

アプリ起動時に表示するビューでナビゲーションバーを表示したい

StoryBoardやInterfaceBuilderは使わずに、コードのみで

環境


実装

必要なとこのみ記述してます^^;

ViewControllerを作成

  • TestViewController.h
#import <UIKit/UIKit.h>

@interface TestViewController : UIViewController

@end
  • TestViewController.m
#import "TestViewController.h"

@implementation TestViewController

- (id)init
{
    self = [super init];

    if (self) {
        self.title = @"TestViewController";
    }

    return self;
}

- (void)viewWillAppear:(BOOL)animated
{
    // ナビゲーションバーを表示する
    [self.navigationController setNavigationBarHidden:NO animated:animated];

    // ツールバーの表示
    [self.navigationController setToolbarHidden:NO];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
}
@end

アプリケーション初期化時の処理を修正

  • AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>

@end
  • AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    TestViewController *testViewController = [[TestViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:testViewController];
    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];
    return YES;
}

実行

iOSシミュレータで確認すると、表示されてないッ!!

と思ったらシミュレータの表示サイズが100%になってて隠れているだけだった・・・orz

75%に設定するとちゃんと表示された(^o^)

iPhoneプログラミングUIKit詳解リファレンス

iPhoneプログラミングUIKit詳解リファレンス