0

別のナビゲーションコントローラー内にあるビューコントローラー内にナビゲーションコントローラーを追加しました...笑

とにかく、この構造のために、「サブ」ナビゲーションコントローラーにプッシュするビューに問題があります。「親」ナビゲーションコントローラーのグラム内にのみ収まり、プッシュされたビューのコンテンツを約20/40pxl押し下げるためです。 ..。。

どうすればこれが起こらないようにするのだろうと思っていました。これが何が起こっているのかを示す2枚の写真です。

ここに画像の説明を入力してください

ラベルがInterfaceBuilderの中央に明確に配置されている場所

ここに画像の説明を入力してください

これは私がこれまでに持っているこのようなもののためのコードです。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    // Init the (sub)navigationController
    otherNav = [[UINavigationController alloc] init];
    // Add this (sub)NavController to the current viewcontroller (which is inside the (parent)navcontroller)
    [self.view addSubview:otherNav.view];
    // Hide the (sub)NavControllerbar
    otherNav.navigationBar.hidden = YES;

    // Load a detial view into the (sub)NavController
    DetailViewController *detailView = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
    [otherNav pushViewController:detailView animated:NO];
}

otherNavも、このビューのグローバルアクセス用に.hファイルに設定されます。

4

1 に答える 1

1

「スーパー」ナビゲーションバーが表示されている場合、self.view.frame.heightは次のようになります。

  • 480-20-44(actualViewheight-statusbarheight-navigationBarheight)。

あなたの問題には2つの解決策があります。

1.簡単にするために、あなたの唯一の問題がそれを一元化することであるならば、私は言うでしょう。

    [self.view addSubview:otherNav.view];
    [otherNav.view setCenter:self.view.center];

これにより、ラベルの中心が揃えられます。

2.ただし、InterfaceBuilderを使用している場合。

  1. xibファイルを選択します。
  2. ビューを選択します。
  3. ユーティリティを開きます。
  4. トップバーをナビゲーションバーとして設定します。

次に、調整するものは、デバイス/シミュレーターまたはテスト対象のものと同じように取得されます。

于 2012-06-13T21:28:48.960 に答える