0

ここに画像の説明を入力

上記のように、テキストを含むテーブル ビューが LeftSide にあります。

しかし、マップ内の注釈を選択すると、セルが強調表示され、他のセルよりも多くのテキストが表示され、背景色も変更されます。

どうすればこれを達成できますか?

4

5 に答える 5

2

次のようにアプローチできます。
まず、マップのテーブルデータと注釈ピンの両方が配列から入力されます!! あなたができることは、特定のアイテムへの配列インデックスとして「タグ」を定義することができます。ユーザーが注釈をタップすると、その注釈には「タグ」(または配列インデックス)があり、この「タグ」(または配列インデックス)にもテーブルデータの項目があります。注釈タップをクリックすると、テーブルをリロードして、その特定のテーブルビューセルを強調表示する必要があります。

于 2013-01-18T06:25:14.020 に答える
1
  1. UITableViewCellこれには をカスタマイズする必要があります
  2. 図に示すように、ビューにテーブル ビューとマップ ビューを追加します。
  3. カスタム テーブル ビュー セルを tableview にロードする
  4. 最初に、すべてのテーブル セルに必要な色を指定します
  5. ユーザーがセルの変更を選択すると、その色が変わります
  6. didSelectRowAtIndexPath:デリゲート メソッドを使用して、対応する値をマップに表示します。

チュートリアルについては、次のリンクを確認してください。

于 2013-01-18T06:15:19.837 に答える
0
  1. のカスタマイズされたクラスを作成しますUITableViewCell
  2. 2つの条件があることを理解してくださいA.通常のセルB.クリック後のセル。

これを実現するには、UITableViewの3つのデリゲートメソッドを使用する必要があります。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Here you'll have to check for the condition you'll have to check which indexPath.row is selected. and according to that you'll have to change the height of your row.
     return hight;

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     // Again the same thing. You'll have to check the condition and load the appropriate controls with appropriate frames.
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     // This is the important function for you.
     // Here you'll have to set one counter. Which you'll use in the 
     // After that reload the table.
}
于 2013-01-18T07:50:53.320 に答える
0

iOSのスライドメニューの基本サンプル

https://github.com/nverinaud/NVSlideMenuController

このサンプルコードがお役に立てば幸いです

于 2013-01-18T06:23:40.750 に答える
0

デフォルトのアノテーションではなくカスタムアノテーションを作成していると思いますので、テーブルビューのセルインデックスと同じになる各アノテーションビューにタグを設定できる場合。注釈を選択しているときに、そのタグでインデックスパスを作成し、そのインデックスパスに selectedrow を設定します。それがあなたを助けることを願っています。

于 2013-01-18T06:23:51.857 に答える