上記のように、テキストを含むテーブル ビューが LeftSide にあります。
しかし、マップ内の注釈を選択すると、セルが強調表示され、他のセルよりも多くのテキストが表示され、背景色も変更されます。
どうすればこれを達成できますか?
上記のように、テキストを含むテーブル ビューが LeftSide にあります。
しかし、マップ内の注釈を選択すると、セルが強調表示され、他のセルよりも多くのテキストが表示され、背景色も変更されます。
どうすればこれを達成できますか?
次のようにアプローチできます。
まず、マップのテーブルデータと注釈ピンの両方が配列から入力されます!! あなたができることは、特定のアイテムへの配列インデックスとして「タグ」を定義することができます。ユーザーが注釈をタップすると、その注釈には「タグ」(または配列インデックス)があり、この「タグ」(または配列インデックス)にもテーブルデータの項目があります。注釈タップをクリックすると、テーブルをリロードして、その特定のテーブルビューセルを強調表示する必要があります。
UITableViewCell
これには をカスタマイズする必要がありますdidSelectRowAtIndexPath:
デリゲート メソッドを使用して、対応する値をマップに表示します。チュートリアルについては、次のリンクを確認してください。
UITableViewCell
。これを実現するには、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.
}
デフォルトのアノテーションではなくカスタムアノテーションを作成していると思いますので、テーブルビューのセルインデックスと同じになる各アノテーションビューにタグを設定できる場合。注釈を選択しているときに、そのタグでインデックスパスを作成し、そのインデックスパスに selectedrow を設定します。それがあなたを助けることを願っています。