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

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

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

A sample UI in Xcode

Tento článek obsahuje úvod k použití storyboardů k definování uživatelského rozhraní aplikace Xamarin.Mac.

Co jsou scénáře?

Pomocí storyboardů lze všechny uživatelské rozhraní aplikace Xamarin.Mac definovat v jednom umístění se všemi navigacemi mezi jeho jednotlivými prvky a uživatelským rozhraním. Scénáře pro Xamarin.Mac fungují velmi podobně jako scénáře pro Xamarin. iOS. Obsahují však jinou sadu typů Segue kvůli různým idiomům rozhraní.

Práce se scénami

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

An example view controller

Každá scéna představuje danou dvojici zobrazení a kontroleru zobrazení se sadou čar (označovaných jako Segues), které spojují každou scénu v uživatelském rozhraní, čímž se zobrazují jejich relace. Některé segues definují, jak jeden kontroler zobrazení obsahuje jedno nebo více podřízených zobrazení nebo kontrolerů zobrazení. Jiné segues definují přechody mezi kontrolerem zobrazení (například zobrazením automaticky otevíraného okna nebo dialogového okna).

A sample segue

Nejdůležitější věcí, kterou je třeba poznamenat, je, že každá segue představuje tok některých forem 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 Mac a datovým modelem, který poskytuje příslušné informace. Každá scéna nejvyšší úrovně v Storyboard představuje jeden kontroler zobrazení v kódu aplikace Xamarin.Mac.

An example slips view controller

Tímto způsobem je každý kontroler zobrazení samostatným opakovaně použitelným párováním vizuální reprezentace informací (View) i logiky pro prezentaci a řízení těchto informací.

V rámci dané scény můžete provádět všechny věci, které by normálně zpracovávaly jednotlivé .xib soubory:

  • Umístěte podview a ovládací prvky (například tlačítka a textová pole).
  • Definujte pozice prvků a omezení automatického rozložení.
  • Wire-up Actions and Outlets to expose UI elements to code.

Práce se se sadou Segues

Jak je uvedeno výše, segues poskytuje vztahy mezi všemi scénami, které definují uživatelské rozhraní vaší aplikace. Pokud znáte práci ve scénářích v iOS, víte, že segues pro iOS obvykle definují přechody mezi zobrazeními na celé obrazovce. To se liší od macOS, když Segues obvykle definuje "obsah" (kde jedna scéna je podřízená nadřazená scéna).

V macOS mají většina aplikací tendenci seskupit svá zobrazení do stejného okna pomocí prvků uživatelského rozhraní, jako jsou rozdělení zobrazení a karty. Na rozdíl od iOS, kdy je potřeba převést zobrazení na obrazovce a mimo obrazovku kvůli omezenému fyzickému prostoru pro zobrazení.

Vzhledem k tomu, macOS sklony k zahrnutí, existují situace, kdy se používají prezentační segues, jako jsou modální Windows, zobrazení listů a popovery.

Při použití prezentační segues můžete přepsat PrepareForSegue metodu nadřazeného kontroleru zobrazení pro prezentaci inicializovat a proměnné a poskytnout všem datům kontroleru zobrazení, který se prezentuje.

Návrh a časy spuštění

V době návrhu (při rozložení uživatelského rozhraní v Xcode Interface Builder) se každý prvek uživatelského rozhraní aplikace rozdělí do jednotlivých položek:

  • Scény – které se skládají z:
    • Kontroler zobrazení – definuje relace mezi zobrazeními a daty, která je podporují.
    • Zobrazení a dílčí zobrazení – skutečné prvky, které tvoří uživatelské rozhraní.
    • Segues obsahující – to definuje vztahy nadřazeného podřízeného objektu mezi scénami.
  • Prezentační segues – to definuje jednotlivé režimy prezentace.

Definováním jednotlivých prvků tímto způsobem umožňuje opožděné načítání každého prvku pouze v případě, že je potřeba během běhu. V macOS byl celý proces navržen tak, aby vývojáři umožnili vytvářet složitá flexibilní uživatelská rozhraní, která vyžadují úplné minimum backingového kódu, aby fungovaly, a to vše při co nejefektivnějším používání systémových prostředků.

Storyboard – úvodní příručka

V úvodní příručce pro Storyboard vytvoříme jednoduchou aplikaci Xamarin.Mac, která představuje klíčové koncepty práce s scénářem pro vytvoření uživatelského rozhraní. Ukázková aplikace bude obsahovat zobrazení Spilt obsahující oblast obsahu a oblast inspektoru a bude obsahovat jednoduché okno Dialogové okno předvoleb. Použijeme Segues k propojení všech prvků uživatelského rozhraní.

Práce se scénáři

Tato část se věnuje podrobným podrobnostem práce s storyboardy v aplikaci Xamarin.Mac. Podrobně se podíváme na scény a na to, jak se skládají z kontrolerů zobrazení a zobrazení. Pak se podíváme na to, jak jsou scény svázané se Seguesem. Nakonec se podíváme na práci s vlastními typy Segue.

Příklad komplexního Storyboard

Příklad komplexního příkladu práce s storyboardy 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 kde jsou k dispozici odkazy od klíčových technologií nebo metod k relevantním informacím v dokumentaci průvodců Xamarin.Mac.

Souhrn

Tento článek se rychle podíval na práci s storyboardy 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 procházet mezi různými okny a stavy zobrazení pomocí segues.