0

サードパーティのコントロールがあり、その中にビューを配置するように求めています。内部に一連のテーブルビューを含むUINavigationControllerを取得しようとしていますが、コントロールを追加すると、ナビゲーションバーがテーブルビューと約半分の行だけ重なって表示されます。

これがコードです。ArcGIS Server iOS SDKを使用して、ナビゲーションコントローラーをマップ上のコールアウトボックスに配置しています。

    IdentifyResultsViewController *idWindow = [[IdentifyResultsViewController alloc] init];
    idWindow.results = results;
    UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:idWindow];
    map.callout.customView = nvc.view;
    nvc.view.frame = CGRectMake(0, 0, 275, 400);

     [map showCalloutAtPoint:self.mapPoint];

これはUINavigationViewControllerを使用する一般的な問題ですか、それともサードパーティのコントロールを調べる必要がありますか?

4

2 に答える 2

0

私は実際、サードパーティのコントロールがナビゲーションバーを妨害するという同様の問題を抱えていました。コントロールを調べようとしましたが、ナビゲーションバーを再表示するのに十分な知識がありません。

私がやったことはあなたにもできることかもしれません。組み込みのUINavigationBarを使用する代わりに、ページの上部にUIViewを配置し、必要な機能を実行するカスタムボタンを追加するだけで、自分で作成しました。バーで。これにより、問題の原因が見つからない場合に、サードパーティのコントロールの周りにもう少し余裕ができます。

それが役に立てば幸い!

于 2012-07-27T15:52:59.470 に答える
0

コードの簡単な並べ替えを使用してこれを解決しました-initWithRootViewControllerを使用する代わりに、ナビゲーションビューコントローラーを作成し、フレームを手動で設定してから、ビューコントローラーをプッシュしました。

    IdentifyResultsViewController *idWindow = [[IdentifyResultsViewController alloc] init];
    idWindow.results = [self filterResults:results];
    UINavigationController *nvc = [[UINavigationController alloc] init];
    nvc.view.frame = CGRectMake(0, 0, 275, 400);
    [nvc pushViewController:idWindow animated:NO];

    map.callout.customView = nvc.view;
    [map showCalloutAtPoint:self.mapPoint];
于 2012-08-23T18:31:27.797 に答える