0

最初のタブにナビゲーションコントローラーを備えたシンプルなタブバーコントローラーを作成する方法に従いました。ここまですべてが正しく機能するまで、レイアウトに奇妙な問題があると予想してください。アプリを初めて起動したとき、最初に読み込まれたペン先の上部にあるナビゲーションバーは、ビューの少し外側にあります。なぜこれが起こるのか理解できません。最初のビューには、モーダルビューを開く[新しいシステムの追加]ボタンがあります。このボタンを押してモーダルビューが表示された後、モーダルを閉じて最初のビューに戻ると、上部のナビゲーションバーが正しく配置/更新されます。2番目のTAB(今のところナビゲーションコントローラーのない単純なペン先)を押してから最初のTABに戻ると、ナビゲーションバーが正しい位置に配置されます。これが最初のスタートアップのスクリーンショットです:

起動

そして、ここでモーダルビューまたは2番目のTABを押してから、最初のビューに戻ると、次のようになります。

後

ネット上の多数のチュートリアルの1つに従って、コードは非常に単純です。ストーリーボードは使用していません。カスタマイズは、ナビゲーションバーの上部にボタンを追加することだけでした。

UIImage *editbuttonImage = [UIImage imageNamed:@"edit_pressed.png"];
UIButton *editButton = [UIButton buttonWithType:UIButtonTypeCustom];
[editButton setBackgroundImage:editbuttonImage forState:UIControlStateNormal];
editButton.frame = CGRectMake(0, 0, editbuttonImage.size.width, editbuttonImage.size.height);
[editButton addTarget:self action:@selector(leaveEditMode) 
       forControlEvents:UIControlEventTouchUpInside];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
                                          initWithCustomView:editButton];

[editButton release];
[editbuttonImage release];

その他の変更は行われませんでした。ペン先は、以前は単一のビューで使用されていました。それから私はそれをTABコントローラー+ナビゲーションコントローラーに挿入しようとしました。必要に応じて、コード全体を投稿できます。[システムの選択]の下にテーブルビューがあり、これらの画像には空で、これも表示されていません。

助けてくれてありがとう!

サイモン

4

1 に答える 1

0

私は自分で問題を解決しました。起動時に、ステータスバーを非表示にして、アプリデリゲートに再度表示するように設定しました。使用されるディレクティブ:

[[UIApplication sharedApplication] setStatusBarHidden:NO];

navControllerをサブビューとして追加した後です。また、ナビゲーションコントローラーBARは、ステータスバーの下だけで表示されていませんでした。

これが誰かに役立つことを願っています:)

乾杯、サイモン

于 2012-04-28T13:14:48.517 に答える