0

スクロールするTableViewの上に固定MapKitを持つViewControllerを作成するにはどうすればよいですか?

私は Storyboards を使用してこれをコーディングしています。私は経験豊富な開発者ですが、iOS、XCode、Objective-C を使用するのはこれが初めてです。現在、動作するメソッドがありますが、現在使用しているメソッドは、UITableViewController 内のテーブル ビューのセクション ヘッダーとして MapKit を設定することで動作し、正しく見えません。(テーブルビューをスクロールしている間、MapKitセクションが常に固定されるセクションが1つしかないため、機能します。)

これを行うコードは次のようになります。

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 200.0;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    MKMapView *mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 200)];
    return mapView;
}

残念ながら、これを行うと、スクロール バーがマップとテーブル ビューの横に表示されます。代わりに、スクロール バーをテーブル ビューと同じ高さにしたいと考えています。

このようなことを行うことについて、サイトの周りに他の回答がありますが、スクロールバーの高さ (およびコードの優雅さ) について言及しているものはありません。

何か案は?

4

2 に答える 2

0

あなたが提供したリンクはまさに​​あなたがすべきことですが、Xibファイルにはテーブルビューの上にMKMapViewも含まれており、アウトレットも適切に設定されています(適切なデリゲートプロトコルを実装しています)。スクロール バーは、実際のテーブルのサブビューであるため、テーブル ビューと同じ高さまでしか移動しません。また、すべてをプログラムで完全に実行したい場合を除き、一般に、これは UI での処理として受け入れられている方法です。

于 2012-12-26T15:46:41.880 に答える
0

この場合、別の UIView を取得して Exit の後に配置できます。その UIView 内に mapView を配置し、必要なここに画像の説明を入力. また、tableView(myTableView) と UIView(viewWithMapView) のアウトレットも描画します。これを viewDidLoad() に追加します:-

 [_myTableView setTableHeaderView:_viewWithMapView];

これにより、セクション ビュー ヘッダーではなく、tableView ヘッダーとして mapView が追加されます。

于 2016-08-06T11:37:57.543 に答える