Úvod do scénářů v Xamarin.Macu

Tento článek obsahuje úvod do práce se scénáři v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou uživatelského rozhraní aplikace pomocí scénářů a Interface Builder.

Scénáře umožňují vyvinout pro aplikaci Xamarin.Mac Uživatelské rozhraní, která obsahuje nejen definice oken a ovládací prvky, ale také propojení mezi různými okny (prostřednictvím hosta) a stavy zobrazení.

Ukázkové uživatelské rozhraní v Xcode

Tento článek obsahuje úvod k definování uživatelského rozhraní aplikace Xamarin.Mac pomocí scénářů.

Co jsou scénáře?

Pomocí scénářů je možné definovat celé uživatelské rozhraní aplikace Xamarin.Mac na jednom místě se všemi navigacemi mezi jednotlivými prvky a uživatelskými rozhraními. Scénáře pro Xamarin.Mac fungují velmi podobně jako scénáře pro Xamarin.iOS. Vzhledem k různým idiomům rozhraní ale obsahují jinou sadu segových typů.

Práce se scénymi

Jak je uvedeno výše, scénář definuje veškeré uživatelské rozhraní pro danou aplikaci rozdělené do funkčního přehledu kontrolerů zobrazení. V souboru Xcode Interface Builder každý z těchto kontrolerů ve své vlastní scéně.

Příklad kontroleru zobrazení

Každá scéna představuje daný pár zobrazení a kontroleru zobrazení se sadu řádků (nazývaný Host), které propojí každou scénu v uživatelském rozhraní a zobrazují tak jejich relace. Některé hosty definují, jak jeden kontroler zobrazení obsahuje jedno nebo více podřízených zobrazení nebo kontrolerů zobrazení. Další hosta definujte přechody mezi kontroleru zobrazení (například zobrazení překryvných nebo dialogových oknů).

Ukázka segády

Nejdůležitější věc, kterou je třeba si uvědomit, je, že každý segův diagram představuje tok určité formy dat mezi daným prvkem uživatelského rozhraní aplikace.

Práce s kontrolery zobrazení

Kontrolery zobrazení definují vztahy mezi daným zobrazením informací v aplikaci pro Mac a datovým modelem, který tyto informace poskytuje. Každá scéna nejvyšší úrovně ve Scénáři představuje jeden kontroler zobrazení v kódu aplikace Xamarin.Mac.

Příklad kontroleru zobrazení

Každý kontroler zobrazení tak představuje samostatné, znovu použitelné párování vizuální reprezentace informací (View) a logiky prezentace a řízení těchto informací.

V rámci dané scény můžete dělat všechny věci, které by za normálních okolností byly zpracovány jednotlivými .xib soubory:

  • Umístěte dílčí zobrazení a ovládací prvky (například tlačítka a textová pole).
  • Definujte pozice elementů a omezení automatického rozložení.
  • Akce a výstupy pro připojení k zobrazení prvků uživatelského rozhraní pro kód

Práce s hosty

Jak je uvedeno výše, Hosti poskytují vztahy mezi všemi scénymi, které definují uživatelské rozhraní vaší aplikace. Pokud jste obeznámeni s prací ve scénářích v iOSu, víte, že hosté pro iOS obvykle definují přechody mezi zobrazeními na celé obrazovce. To se liší od macOS, kdy hosté obvykle definují "kontejner" (kde jedna scéna je podřízeným objektem nadřazené scény).

Většina aplikací v systému macOS seskupuje jejich zobrazení v rámci stejného okna pomocí prvků uživatelského rozhraní, jako jsou rozdělená zobrazení a karty. Na rozdíl od iOSu, kde je kvůli omezenému fyzickému prostoru pro zobrazení potřeba přechádnout zobrazení na obrazovce nebo mimo obrazovku.

Vzhledem k tendence macOS ke zdržení existují situace, kdy se používají prezentační hosti, jako jsou modální Windows, zobrazení listů a překryvné prvky.

Při použití prezentačních hostů můžete přepsat metodu nadřazeného kontroleru zobrazení pro prezentaci pro inicializaci a proměnné a poskytnout předkládaná data do PrepareForSegue kontroleru zobrazení.

Doby návrhu a spuštění

Při návrhu (při rozložení uživatelského rozhraní v souboru Interface Builder Xcode) je každý prvek uživatelského rozhraní aplikace rozdělen do základních položek aplikace:

  • Scény – skládající se z:
    • Zobrazení kontroleru – Definuje vztahy mezi zobrazeními a daty, která je podporují.
    • Zobrazení a dílčí zobrazení – skutečné prvky, které tvoří uživatelské rozhraní.
    • Hostování kontejneru – Definují vztahy nadřazenosti a podřízené položky mezi scénymi.
  • Prezentační host – definují jednotlivé prezentační režimy.

Definováním každého prvku tímto způsobem umožňuje opožděné načítání každého prvku pouze v případě, že je za běhu potřeba. V systému macOS byl celý proces navržen tak, aby vývojáři umožnil vytvářet složitá a flexibilní uživatelská rozhraní, která k tomu, aby fungovala, vyžadovala ho jen minimum kódu a současně byla co nejefektivnější se systémovými prostředky.

Scénáře rychlé zprovoznění

V průvodci rychlé zprovoznění scénáře vytvoříme jednoduchou aplikaci Xamarin.Mac, která představuje klíčové koncepty práce se scénáři a vytvoření Uživatelské rozhraní. Ukázková aplikace se bude skládat ze spiltového zobrazení obsahujícího oblast obsahu a oblast inspektoru a zobrazí jednoduché dialogové okno Předvolby. K provázání všech prvků s Uživatelské rozhraní budeme používat hosta.

Práce se scénáři

Tato část obsahuje podrobné informace o práci se scénáři v aplikaci Xamarin.Mac. Podrobně se podíváme na scény a jejich skládající se z kontrolerů zobrazení a zobrazení. Pak se podíváme na to, jak jsou scény svázány s hosty. Nakonec se podíváme na práci s vlastními typy Segů.

Příklad komplexního scénáře

Příklad složitého příkladu práce se scénáři v aplikaci Xamarin.Mac najdete v ukázkové aplikaci SourceWriter. SourceWriter je jednoduchý editor zdrojového kódu, který poskytuje podporu pro dokončování kódu a jednoduché zvýraznění syntaxe.

Kód SourceWriter byl plně okomentován a (pokud je k dispozici) jsou k dispozici odkazy na klíčové technologie nebo metody na relevantní informace v dokumentaci příručky Xamarin.Mac.

Souhrn

Tento článek se rychle podíval na práci se scénáři v aplikaci Xamarin.Mac. Viděli jsme, jak vytvořit novou aplikaci pomocí scénářů a jak definovat uživatelské rozhraní. Také jsme viděli, jak přecházet mezi různými okny a zobrazit stavy pomocí hostů.