1

私のviewDidLoadメソッドには、次のものがあります。

navigBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemAction target:self action:@selector(btnClicked:)];
[self.view addSubview:navigBar];

ボタンがまったく表示されません!私は何が欠けていますか?

4

3 に答える 3

4
// create the navigation bar and add it to the view
UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:navigationBar];

// create a button
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemAction target:self action:@selector(btnClicked:)];

// create a UINavigationItem and add the button in the right hand side
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:nil];
navItem.rightBarButtonItem = button;

// add the UINavigationItem to the navigation bar
[navigationBar pushNavigationItem:navItem animated:NO];
于 2012-08-09T20:24:37.910 に答える
3

ナビゲーションバーのボタンを設定します。次に、BarButtonItemナビゲーションを作成します。

barbutton=[UIBarButtonItem alloc] ]initWithTitle......
navigation.navigationController.rightBarButton= barbutton;
于 2012-08-09T18:20:53.127 に答える
3

最初にこれを読んでください:

ナビゲーションバーをスタンドアロンオブジェクトとして使用する場合は、そのコンテンツを提供する必要があります。他のタイプのビューとは異なり、ナビゲーションバーにサブビューを直接追加することはありません。代わりに、ナビゲーションアイテム(UINavigationItemクラスのインスタンス)を使用して、表示するボタンまたはカスタムビューを指定します。ナビゲーションアイテムには、ナビゲーションバーの左、右、中央のビューを指定したり、カスタムプロンプト文字列を指定したりするためのプロパティがあります。

ナビゲーションバーは、UINavigationItemオブジェクトのスタックを管理します。スタックは主にナビゲーションコントローラーをサポートするためにありますが、独自のカスタムナビゲーションインターフェイスを実装するためにも使用できます。スタックの最上位のアイテムは、現在ナビゲーションバーにコンテンツが表示されているナビゲーションアイテムを表します。pushNavigationItem:animated:メソッドを使用して新しいナビゲーションアイテムをスタックにプッシュし、popNavigationItemAnimated:メソッドを使用してスタックからアイテムをポップします。これらの変更は両方とも、ユーザーの利益のためにアニメーション化できます。

つまり、基本的にあなたがする必要があるのは:

[navigBar pushNavigationItem:self.navigationItem animated:NO];
于 2012-08-09T19:48:35.320 に答える