Lekce 26 - Vlastní detail po otevření anotace v MapView a Swift
V minulé lekci, Vytvoření vlastní anotace pro MapView komponentu, jsme si ukázali, jak jak přizpůsobit
MapView
, aby zobrazoval naše vlastní anotace místo těch
výchozích
Nyní si ukážeme, jak udělat anotace v mapě interaktivní. Ve výchozím stavu zobrazují tzv. "callout", kdy vidíme ještě jednou název místa. Tuto komponentu můžeme přizpůsobit, aby třeba obsahovala tlačítka nebo nějakou další vlastní komponentu. Tím uživateli umožníme otevřít si např. další informace o daném místě nebo spustit navigaci.
Tlačítko
Začneme tím, že do výchozího vzhledu přidáme tlačítko.
Vytvoření tlačítka
Přesuneme se tedy do PlaceAnnotationView.swift
a úpravy
provedeme v metodě setupView()
. Zatím zde máme pouze jeden
řádek.
Přidáme vytvoření standardního tlačítka a nastavíme ho jako vlastnost
rightCalloutAccessoryView
, takže se zobrazí napravo vedle textu.
Využít bychom mohli případně také
leftCalloutAccessoryView
:
fileprivate func setupView() { canShowCallout = true let accessoryButton = UIButton(type: .detailDisclosure) rightCalloutAccessoryView = accessoryButton }
Zatím tedy jen vytváříme tlačítko a nastavujeme ho pro náš callout.
Nemusíme dokonce ani řešit obsluhu po stisku tlačítka. Na to má
MapView
komponenta metodu
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
Swift tutoriál o tvorbě vlastní komponenty, která se zobrazí, jakmile uživatel vybere konkrétní anotaci. Také si ukážeme spuštění navigace přes Apple Maps.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.