Diskuze: Přepnutí kontextu/zobrazovaného itemu ve Swiftu pro iOS
V předchozím kvízu, Online test znalostí Objective-C, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Objective-C, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, nejsem si jistý jestli to dobře chápu, ale zde jde primárně o to
mít dobře definovaný a abstrahovaný datový model. Pokud budeš mít třeba
jednu třídu, která se stará o načítání dat na všech obrazovkách, tak
není problém ji přes nějaké nastavení (např. UserDefaults)
říct, co má přesně načítat.
Pak můžeš mít obrazovku pro přepínání, kde si uživatele vybere nový
"item", pošleš si přes NotificationCenter notifikaci, ta bude
zachycena na všech relevantních obrazovkách a provede se reload dat podle
nově nastavených preferencí.
Ahoj, ta pointa není v načítaných datech, ale třída, která se o tohle stará zní zajímavě (předpokládám správně, že by to celé muselo být statické?).
Ta otázka byla, jak udělat něco takového (https://www.youtube.com/watch?…): po druhém potáhnutí se otevře menu, kde máš různé workspace. Kliknutí na některý z těch workspace přepne celou aplikaci do kontextu této workspace a v podstatě vidíš jen kolegy a kanály, kteří jsou této workspace součástí. Pokud bys chtěl komunikovat s kolegou z druhé workspace, tak musíš tu aplikaci zase tímhle způsobem přepnout do jeho workspace (aplikace se do přepnutí vlastně tváří, jakoby existovala jen ta jedna jediná workspace).
Má otázka je vlastně jak se jmenuje ta boční komponenta (a případně jak ji implementovat) a také, jestli je vůbec možné této komponentě říct, ať se po změně té Workspace (v mém případě restaurace) přepne do kontextu jiného, ale zůstane na současném controlleru (pokud budu mít otevřené dezerty, tak se mi zobrazí dezerty té druhé restaurace, ale navigací můžu jít zpět na celé menu apod. a pokud bych měl otevřené to celé menu a změnil restauraci, tak tentokrát se nová restaurace zobrazí v controlleru celém menu, ne dezerty jako předtím atd.)
Na tohle se používají knihovny, iOS to zabudované nemá, teoreticky by šel použít SplitViewController, ale hádám, že nechceš, aby to boční menu překrývalo celou obrazovku.
Jestli chceš fakt výzvu a hodně se naučit, tak bys to mohl zkusit implementovat sám. Prakticky to může být vlastně obyčejný controller, který má tento view schovaný na levé straně a např po tapu na tlačítko ho můžeš animovat, aby bylo vidět. Samotné menu pak bude nastylovaný TableView a výběrem v něm si změníš právě vybraný objekt, ze kterého se načtou nová data.
A nebo pro začátek udělej menu, které vyjíždí zespodu a to bude
vlastně view controller, který zobrazíš modálně pomocí
present, kde bude možnost si vybrat restauraci.
Zobrazeno 5 zpráv z 5.