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.
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.