Hello, Mac – Návod
Xamarin.Mac umožňuje vývoj plně nativních aplikací pro Mac v jazyce C# a .NET pomocí stejných rozhraní API pro macOS, která se používají při vývoji ve swiftuObjective-C. Vzhledem k tomu, že Xamarin.Mac se integruje přímo s Xcode, může vývojář pomocí Tvůrce rozhraní Xcode vytvořit uživatelská rozhraní aplikace (nebo je volitelně vytvořit přímo v kódu jazyka C#).
Vzhledem k tomu, že aplikace Xamarin.Mac jsou napsané v jazyce C# a .NET, lze kód sdílet s mobilními aplikacemi Xamarin.iOS a Xamarin.Android; při poskytování nativního prostředí na každé platformě.
Tento článek vám představí klíčové koncepty potřebné k vytvoření aplikace pro Mac pomocí Xamarin.Mac, Visual Studio pro Mac a Tvůrce rozhraní Xcode. Projdete procesem vytvoření jednoduché aplikace Hello, Mac, která počítá počet kliknutí na tlačítko:
Probíráme následující koncepty:
- Visual Studio pro Mac – úvod do Visual Studio pro Mac a jak s ním vytvářet aplikace Xamarin.Mac.
- Anatomie aplikace Xamarin.Mac – čeho se aplikace Xamarin.Mac skládá.
- Tvůrce rozhraní Xcode – Jak používat Tvůrce rozhraní Xcode k definování uživatelského rozhraní aplikace.
- Zásuvky a akce – Jak používat zásuvky a akce k připojení ovládacích prvků v uživatelském rozhraní.
- Nasazení/testování – jak spustit a otestovat aplikaci Xamarin.Mac.
Požadavky
Vývoj aplikací Xamarin.Mac vyžaduje:
- Počítač Mac se systémem macOS High Sierra (10.13) nebo novějším.
- Xcode 10 nebo vyšší.
- Nejnovější verze Xamarin.Mac a Visual Studio pro Mac
Pokud chcete spustit aplikaci vytvořenou pomocí Xamarin.Mac, budete potřebovat:
- Počítač Mac se systémem macOS 10.7 nebo novějším
Upozornění
Nadcházející verze Xamarin.Mac 4.8 bude podporovat jen macOS 10.9 nebo novější. Předchozí verze Xamarin.Mac podporují macOS 10.7 nebo vyšší, ale tyto starší verze macOS nemají dostatečnou infrastrukturu TLS pro podporu protokolu TLS 1.2. Pokud je cílem macOS 10.7 nebo macOS 10.8, použijte Xamarin.Mac 4.6 nebo starší.
Spuštění nové aplikace Xamarin.Mac v Visual Studio pro Mac
Jak je uvedeno výše, tento průvodce vás provede postupem vytvoření aplikace pro Mac, Hello_Mac která přidá do hlavního okna jedno tlačítko a popisek. Po kliknutí na tlačítko se v popisku zobrazí počet kliknutí.
Začněte následujícím postupem:
Spustit Visual Studio pro Mac:
Kliknutím na tlačítko Nový Project... otevřete dialogové okno Nový Project a pak vyberte aplikaci MacAppCoa>> a klikněte na tlačítko Další:
Zadejte
Hello_Macnázev aplikace a ponechte všechno ostatní jako výchozí. Klikněte na Další:Potvrďte umístění nového projektu v počítači:
Klikněte na tlačítko Vytvořit.
Visual Studio pro Mac vytvoří novou aplikaci Xamarin.Mac a zobrazí výchozí soubory, které se přidají do řešení aplikace:
Visual Studio pro Mac používá stejnou strukturu řešení a Project jako Visual Studio 2019. Řešení je kontejner, který může obsahovat jeden nebo více projektů; projekty mohou zahrnovat aplikace, podpůrné knihovny, testovací aplikace atd. Šablona Nový soubor > Project vytvoří řešení a projekt aplikace automaticky.
Anatomie aplikace Xamarin.Mac
Programování aplikací Xamarin.Mac se velmi podobá práci s Xamarin.iOS. iOS používá architekturu CocoaTouch, která je štíhlá verze Cocoa, kterou používá Mac.
Podívejte se na soubory v projektu:
- Main.cs obsahuje hlavní vstupní bod aplikace. Při spuštění
Mainaplikace třída obsahuje úplně první metodu, která je spuštěna. - AppDelegate.cs obsahuje
AppDelegatetřídu, která je zodpovědná za naslouchání událostem z operačního systému. - Info.plist obsahuje vlastnosti aplikace, jako je název aplikace, ikony atd.
- Entitlements.plist obsahuje oprávnění pro aplikaci a umožňuje přístup k věcem, jako je sandboxing a podpora iCloudu.
- Main.storyboard definuje uživatelské rozhraní (Windows a nabídky) pro aplikaci a stanoví propojení mezi Windows přes Segues. Scénáře jsou soubory XML, které obsahují definici zobrazení (prvky uživatelského rozhraní). Tento soubor lze vytvořit a udržovat tvůrcem rozhraní uvnitř Xcode.
- ViewController.cs je kontroler hlavního okna. Kontrolery budou podrobně popsány v jiném článku, ale prozatím si kontroler může představit hlavní modul jakéhokoli konkrétního zobrazení.
- ViewController.designer.cs obsahuje instalatérský kód, který pomáhá integrovat s uživatelským rozhraním hlavní obrazovky.
V následujících částech se můžete rychle podívat na některé z těchto souborů. Později se budou podrobněji zkoumat, ale je vhodné pochopit jejich základy.
Main.cs
Soubor Main.cs je velmi jednoduchý. Obsahuje statickou Main metodu, která vytvoří novou instanci aplikace Xamarin.Mac a předá název třídy, která bude zpracovávat události operačního systému, což je AppDelegate v tomto případě třída:
using System;
using System.Drawing;
using Foundation;
using AppKit;
using ObjCRuntime;
namespace Hello_Mac
{
class MainClass
{
static void Main (string[] args)
{
NSApplication.Init ();
NSApplication.Main (args);
}
}
}
AppDelegate.cs
Soubor AppDelegate.cs obsahuje AppDelegate třídu, která zodpovídá za vytváření oken a naslouchání událostem operačního systému:
using AppKit;
using Foundation;
namespace Hello_Mac
{
[Register ("AppDelegate")]
public class AppDelegate : NSApplicationDelegate
{
public AppDelegate ()
{
}
public override void DidFinishLaunching (NSNotification notification)
{
// Insert code here to initialize your application
}
public override void WillTerminate (NSNotification notification)
{
// Insert code here to tear down your application
}
}
}
Tento kód pravděpodobně neznáte, pokud vývojář předtím nestavil aplikaci pro iOS, ale je poměrně jednoduchá.
Metoda DidFinishLaunching se spustí po vytvoření instance aplikace a je zodpovědná za vytvoření okna aplikace a zahájení procesu zobrazení v aplikaci.
Metoda WillTerminate bude volána, když uživatel nebo systém vytvořil instanci vypnutí aplikace. Vývojář by měl tuto metodu použít k dokončení aplikace před ukončením (například uložení uživatelských předvoleb nebo velikosti okna a umístění).
ViewController.cs
Cocoa (a odvozením CocoaTouch) používá to, co se označuje jako model MVC (Model View Controller ). Deklarace ViewController představuje objekt, který řídí skutečné okno aplikace. Obecně platí, že pro každé okno vytvořené (a pro mnoho dalších věcí v oknech) je kontroler, který zodpovídá za životní cyklus okna, například zobrazení, přidání nových zobrazení (ovládacích prvků) do něj atd.
Třída ViewController je kontroler hlavního okna. Kontroler zodpovídá za životní cyklus hlavního okna. Podrobněji se na to podíváme později a teď se na ni rychle podíváme:
using System;
using AppKit;
using Foundation;
namespace Hello_Mac
{
public partial class ViewController : NSViewController
{
public ViewController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Do any additional setup after loading the view.
}
public override NSObject RepresentedObject {
get {
return base.RepresentedObject;
}
set {
base.RepresentedObject = value;
// Update the view, if already loaded.
}
}
}
}
ViewController.Designer.cs
Soubor návrháře pro třídu Main Window je zpočátku prázdný, ale automaticky se naplní Visual Studio pro Mac při vytváření uživatelského rozhraní pomocí Xcode Interface Builder:
// WARNING
//
// This file has been generated automatically by Visual Studio for Mac to store outlets and
// actions made in the UI designer. If it is removed, they will be lost.
// Manual changes to this file may not be handled correctly.
//
using Foundation;
namespace Hello_Mac
{
[Register ("ViewController")]
partial class ViewController
{
void ReleaseDesignerOutlets ()
{
}
}
}
Soubory návrháře by neměly být upravovány přímo, protože jsou automaticky spravovány Visual Studio pro Mac poskytnout instalatérní kód, který umožňuje přístup k ovládacím prvkům, které byly přidány do libovolného okna nebo zobrazení v aplikaci.
S vytvořeným projektem aplikace Xamarin.Mac a základním porozuměním jeho komponentám přepněte na Xcode a vytvořte uživatelské rozhraní pomocí Tvůrce rozhraní.
Info.plist
Soubor Info.plist obsahuje informace o aplikaci Xamarin.Mac, jako je název aidentifikátor sady:
Definuje také storyboard , který se použije k zobrazení uživatelského rozhraní pro aplikaci Xamarin.Mac v rozevíracím seznamu Hlavní rozhraní . V příkladu výše Main se v rozevíracím seznamu vztahuje ke Main.storyboard zdrojovému stromu projektu v Průzkumník řešení. Definuje také ikony aplikace zadáním katalogu prostředků , který je obsahuje (v tomto případě AppIcon ).
Entitlements.plist
Soubor aplikace Entitlements.plist řídí nároky, které má aplikace Xamarin.Mac, jako je sandboxing a iCloud:
V Hello World příkladu nebudou vyžadovány žádné nároky. V další části se dozvíte, jak pomocí Tvůrce rozhraní Xcode upravit soubor Main.storyboard a definovat uživatelské rozhraní aplikace Xamarin.Mac.
Úvod do Xcode a Tvůrce rozhraní
V rámci Xcode společnost Apple vytvořila nástroj s názvem Interface Builder, který vývojářům umožňuje vizuálně vytvořit uživatelské rozhraní v návrháři. Xamarin.Mac se bezproblémově integruje s Tvůrcem rozhraní, což umožňuje vytváření uživatelského rozhraní se stejnými nástroji jako Objective-C uživatelé.
Začněte tak, že dvakrát kliknete na Main.storyboard soubor v Průzkumník řešení a otevřete ho pro úpravy v Xcode a Tvůrci rozhraní:
Měl by se spustit Xcode a vypadat jako na tomto snímku obrazovky:
Než začnete navrhovat rozhraní, podívejte se na rychlý přehled Xcode, abyste se orientovali s hlavními funkcemi, které se použijí.
Poznámka
Vývojář nemusí k vytvoření uživatelského rozhraní pro aplikaci Xamarin.Mac použít Xcode a Tvůrce rozhraní, uživatelské rozhraní lze vytvořit přímo z kódu jazyka C#, ale to je nad rámec tohoto článku. Kvůli jednoduchosti bude tvůrce rozhraní používat k vytvoření uživatelského rozhraní v průběhu zbytku tohoto kurzu.
Komponenty Xcode
Při otevření souboru .storyboard v Xcode z Visual Studio pro Mac se otevře s navigátorem Project vlevo, hierarchií rozhraní a editorem rozhraní uprostřed a částí Nástroje vlastností & vpravo:
V následujících částech se podíváme na to, co jednotlivé funkce Xcode dělají a jak je používat k vytvoření rozhraní pro aplikaci Xamarin.Mac.
navigace Project
Při otevření souboru .storyboard pro úpravy v Xcode, Visual Studio pro Mac vytvoří soubor Xcode Project na pozadí pro komunikaci změn mezi sebou a Xcode. Později, když vývojář přepne zpět na Visual Studio pro Mac z Xcode, všechny změny provedené v tomto projektu se synchronizují s projektem Xamarin.Mac Visual Studio pro Mac.
Oddíl navigace Project umožňuje vývojářům přecházet mezi všemi soubory, které tvoří tento projekt Xcode. Obvykle se budou zajímat .storyboard pouze o soubory v tomto seznamu, například Main.storyboard.
Hierarchie rozhraní
Oddíl Hierarchie rozhraní umožňuje vývojáři snadno získat přístup k několika klíčovým vlastnostem uživatelského rozhraní, jako jsou jeho zástupné symboly a hlavní okno. Tato část se dá použít pro přístup k jednotlivým prvkům (zobrazením), které tvoří uživatelské rozhraní, a upravit způsob jejich vnořením přetažením do hierarchie.
Editor rozhraní
Část Editor rozhraní poskytuje povrch, na kterém je uživatelské rozhraní graficky rozloženo. Přetažením prvků z oddílu Knihovna oddílu Nástroje vlastností & vytvořte návrh. Vzhledem k tomu, že prvky uživatelského rozhraní (zobrazení) se přidají do návrhové plochy, budou přidány do části Hierarchie rozhraní v pořadí, v jakém se zobrazují v Editoru rozhraní.
Nástroje vlastností &
Oddíl Nástroje vlastností & je rozdělený do dvou hlavních oddílů, vlastností (označovaných také jako inspektory) a knihovny:
Zpočátku je tento oddíl téměř prázdný, ale pokud vývojář vybere prvek v editoru rozhraní nebo hierarchii rozhraní, naplní se část Properties informacemi o daném prvku a vlastnostech, které mohou upravit.
V části Vlastnosti jsou k dispozici osm různých karet inspektoru, jak je znázorněno na následujícím obrázku:
Typy nástrojů vlastností &
Zleva doprava jsou tyto karty:
- Kontrola souborů – Kontrola souborů zobrazuje informace o souboru, například název souboru a umístění souboru Xib, který se upravuje.
- Rychlá nápověda – Karta Rychlá nápověda poskytuje kontextovou nápovědu na základě toho, co je vybrané v Xcode.
- Kontrola identity – Kontrola identity poskytuje informace o vybraném ovládacím prvku nebo zobrazení.
- Inspektor atributů – Inspektor atributů umožňuje vývojáři přizpůsobit různé atributy vybraného ovládacího prvku nebo zobrazení.
- Kontrola velikosti – Kontrola velikosti umožňuje vývojáři řídit velikost a změnu velikosti vybraného ovládacího prvku nebo zobrazení.
- Kontrola připojení – Kontrola připojení zobrazuje připojení výstupu a akce vybraných ovládacích prvků. Výstupy a akce budou podrobně popsány níže.
- Kontrola vazeb – Kontrola vazeb umožňuje vývojáři konfigurovat ovládací prvky tak, aby jejich hodnoty byly automaticky svázány s datovými modely.
- View Effects Inspector – Kontrola efektů zobrazení umožňuje vývojáři určit efekty ovládacích prvků, jako jsou animace.
Pomocí oddílu Knihovna můžete najít ovládací prvky a objekty, které se mají umístit do návrháře, aby bylo možné graficky vytvořit uživatelské rozhraní:
Vytvoření rozhraní
Se základy integrovaného vývojového prostředí Xcode a Tvůrce rozhraní může vývojář vytvořit uživatelské rozhraní pro hlavní zobrazení.
Pokud chcete použít Tvůrce rozhraní, postupujte takto:
V Xcode přetáhněte tlačítko push z oddílu knihovny:
V editoru rozhraní přetáhněte tlačítko na zobrazení (pod kontrolerem okna):
Klikněte na vlastnost Název v Inspektoru atributů a změňte název tlačítka na Tlačítko Na Mě:
Přetáhněte popisek z oddílu knihovny:
Přetáhněte popisek na okno vedle tlačítka v Editoru rozhraní:
Uchopte správný úchyt na štítku a přetáhněte ho, dokud není blízko okraje okna:
Vyberte tlačítko, které jste právě přidali v Editoru rozhraní, a klikněte na ikonu Editor omezení v dolní části okna:
V horní části editoru klikněte na červené paprsky v horní části a vlevo. Při změně velikosti okna se tlačítko zachová ve stejném umístění v levém horním rohu obrazovky.
Dále zaškrtněte políčka Výška a Šířka a použijte výchozí velikosti. Tím se tlačítko zachová ve stejné velikosti, když se změní velikost okna.
Kliknutím na tlačítko Přidat 4 omezení přidejte omezení a zavřete editor.
Vyberte popisek a znovu klikněte na ikonu Editor omezení :
Kliknutím na červené paprsky V-Beams v horní, pravé a levé části Editoru omezení řekne, že se popisek zablokuje na dané umístění X a Y a aby se zvětšoval a zmenšil, jak se okno mění ve spuštěné aplikaci.
Znovu zaškrtněte políčko Výška a použijte výchozí velikost a potom kliknutím na tlačítko Přidat 4 omezení přidejte omezení a zavřete editor.
Uložte změny do uživatelského rozhraní.
Při změně velikosti a přesouvání ovládacích prvků si všimněte, že Tvůrce rozhraní nabízí užitečné tipy pro přichycení, které jsou založené na pokynech pro lidské rozhraní macOS. Tyto pokyny pomohou vývojáři vytvářet vysoce kvalitní aplikace, které budou mít známý vzhled a chování pro uživatele Mac.
Podívejte se do části Hierarchie rozhraní a podívejte se, jak se zobrazuje rozložení a hierarchie prvků, které tvoří uživatelské rozhraní:
Odsud může vývojář vybrat položky, které chcete upravit nebo přetáhnout a změnit pořadí prvků uživatelského rozhraní v případě potřeby. Pokud byl například prvek uživatelského rozhraní pokryt jiným prvkem, mohl by ho přetáhnout do dolní části seznamu, aby se stal nejvyšší položkou v okně.
S vytvořeným uživatelským rozhraním bude vývojář muset zpřístupnit položky uživatelského rozhraní, aby k nim Xamarin.Mac mohl přistupovat a pracovat s nimi v kódu jazyka C#. Další část , Zásuvky a Akce, ukazuje, jak to udělat.
Zásuvky a akce
Takže co jsou zásuvky a akce? V tradičním programování uživatelského rozhraní .NET se ovládací prvek v uživatelském rozhraní při přidání automaticky zobrazí jako vlastnost. Věci fungují jinak v Macu. Stačí, když do zobrazení přidáte ovládací prvek, nepřístupní ho kódu. Vývojář musí explicitně vystavit element uživatelského rozhraní kódu. V tomto pořadí nabízí Apple dvě možnosti:
- Zásuvky – Zásuvky jsou analogické k vlastnostem. Pokud vývojář připojí ovládací prvek do zásuvky, je vystavený kódu prostřednictvím vlastnosti, aby mohl dělat věci, jako je připojení obslužných rutin událostí, volání metod na něm atd.
- Akce – Akce jsou analogické se vzorem příkazů ve WPF. Například když se akce provede u ovládacího prvku, řekněte, že tlačítko klikne, ovládací prvek automaticky zavolá metodu v kódu. Akce jsou výkonné a pohodlné, protože vývojář může připojit mnoho ovládacích prvků na stejnou akci.
V Xcode se zásuvky a akce přidají přímo do kódu pomocí ovládacího prvku přetažení. Konkrétně to znamená, že pokud chcete vytvořit zásuvku nebo akci, vývojář zvolí ovládací prvek pro přidání zásuvky nebo akce , podržením klávesy Control na klávesnici a přetažením tohoto ovládacího prvku přímo do kódu.
Pro vývojáře Xamarin.Mac to znamená, že vývojář přetáhne do Objective-C souborů s zástupnými informacemi, které odpovídají souboru C#, kde chtějí vytvořit zásuvku nebo akci. Visual Studio pro Mac vytvořili soubor volaný ViewController.h jako součást Project xcode vygenerovaného pro použití Tvůrce rozhraní:
Tento zástupný .h soubor zrcadlí ViewController.designer.cs automaticky přidaný do projektu Xamarin.Mac při vytvoření nového NSWindow souboru. Tento soubor se použije k synchronizaci změn provedených Tvůrcem rozhraní a vytvoří se výstupy a akce, aby byly prvky uživatelského rozhraní zpřístupněny kódu jazyka C#.
Přidání zásuvky
S základním pochopením toho, co jsou zásuvky a akce , vytvořte zásuvku , která zveřejní popisek vytvořený pro náš kód jazyka C#.
Postupujte následovně:
V Xcode v pravém horním rohu obrazovky kliknutím na tlačítko Double Circle otevřete Editor asistenta:
Xcode přepne do režimu rozděleného zobrazení s editorem rozhraní na jedné straně a editorem kódu na druhé straně.
Všimněte si, že Xcode automaticky vybral soubor ViewController.m v Editoru kódu, což je nesprávné. V diskuzi o tom, co jsou výstupy a akce výše, vývojář bude muset mít vybraný ViewController.h .
V horní části editoru kódu klikněte na automatický odkaz a vyberte
ViewController.hsoubor:Xcode by teď měl mít vybraný správný soubor:
Poslední krok byl velmi důležitý!: Pokud jste nevybrali správný soubor, nebudete moct vytvářet zásuvky a akce nebo budou vystaveny nesprávné třídě v jazyce C#!
V Editoru rozhraní podržte klávesu Control na klávesnici a klikněte na popisek vytvořený výše do editoru kódu těsně pod kódem
@interface ViewController : NSViewController {}:Zobrazí se dialogové okno. Nechte připojení nastaveno na Zásuvku a zadejte
ClickedLabelnázev:Kliknutím na tlačítko Připojení vytvořte zásuvku:
Uložte změny souboru.
Přidání akce
Dále zpřístupňte tlačítko kódu jazyka C#. Stejně jako výše uvedený popisek by vývojář mohl tlačítko připojit do zásuvky. Vzhledem k tomu, že chceme odpovědět jenom na tlačítko, na které se kliká, použijte místo toho akci .
Postupujte následovně:
Ujistěte se, že je Xcode stále v Editoru asistentů a soubor ViewController.h je viditelný v Editoru kódu.
V Editoru rozhraní podržte klávesu Control na klávesnici a klikněte na tlačítko vytvořené výše do editoru kódu těsně pod kódem
@property (assign) IBOutlet NSTextField *ClickedLabel;:Změňte typ připojení na akci:
Zadejte
ClickedButtonjako název:Kliknutím na tlačítko Připojení vytvořte akci:
Uložte změny souboru.
S připojeným uživatelským rozhraním a zveřejněním kódu jazyka C# přepněte zpět na Visual Studio pro Mac a nechte ho synchronizovat změny provedené v Xcode a Tvůrci rozhraní.
Poznámka
Vytvoření uživatelského rozhraní a zásuvek a akcí pro tuto první aplikaci pravděpodobně trvalo dlouho a může to vypadat jako hodně práce, ale mnoho nových konceptů bylo zavedeno a hodně času bylo stráveno pokrytím nového místa. Po cvičení na chvíli a práci s Tvůrcem rozhraní je možné toto rozhraní a všechny jeho zásuvky a akce vytvořit za minutu nebo dvě.
Synchronizace změn s Xcode
Když vývojář přepne zpět na Visual Studio pro Mac z Xcode, všechny změny provedené v Xcode se automaticky synchronizují s projektem Xamarin.Mac.
V Průzkumník řešení vyberte ViewController.designer.cs a podívejte se, jak byla zásuvka a akce v kódu jazyka C#připojeny:
Všimněte si, jak dvě definice v souboru ViewController.designer.cs :
[Outlet]
AppKit.NSTextField ClickedLabel { get; set; }
[Action ("ClickedButton:")]
partial void ClickedButton (Foundation.NSObject sender);
Zarovná se s definicemi v ViewController.h souboru v Xcode:
@property (assign) IBOutlet NSTextField *ClickedLabel;
- (IBAction)ClickedButton:(id)sender;
Visual Studio pro Mac naslouchá změnám souboru .h a potom tyto změny automaticky synchronizuje v příslušném souboru .designer.cs, aby je zpřístupnil aplikaci. Všimněte si, že ViewController.designer.cs je částečná třída, takže Visual Studio pro Mac nemusí upravovat ViewController.cs, což by přepsalo všechny změny, které vývojář provedl ve třídě.
Za normálních okolností vývojář nebude muset otevřít ViewController.designer.cs, byl zde prezentován pouze pro vzdělávací účely.
Poznámka
Ve většině situací Visual Studio pro Mac automaticky uvidí všechny změny provedené v Xcode a synchronizují je s projektem Xamarin.Mac. Ve vypnutém výskytu, že k synchronizaci nedojde automaticky, přepněte zpět na Xcode a pak se znovu vraťte na Visual Studio pro Mac. To obvykle spustí synchronizační cyklus.
Psaní kódu
S uživatelským rozhraním vytvořeným a jeho prvky uživatelského rozhraní vystavené kódu prostřednictvím výstupů a akcí jsme konečně připraveni napsat kód, který program oživí.
U této ukázkové aplikace se při každém kliknutí na první tlačítko aktualizuje popisek, aby se zobrazilo, kolikrát na tlačítko kliknulo. Pokud to chcete provést, otevřete ViewController.cs soubor pro úpravy poklikáním v Průzkumník řešení:
Nejprve vytvořte proměnnou ViewController na úrovni třídy, která bude sledovat počet kliknutí, ke kterým došlo. Upravte definici třídy a udělejte ji takto:
namespace Hello_Mac
{
public partial class ViewController : NSViewController
{
private int numberOfTimesClicked = 0;
...
Dále ve stejné třídě (ViewController), přepište metodu ViewDidLoad a přidejte kód pro nastavení počáteční zprávy pro popisek:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Set the initial value for the label
ClickedLabel.StringValue = "Button has not been clicked yet.";
}
Místo ViewDidLoadjiné metody, jako Initializeje například , protože ViewDidLoad je volána po načtení operačního systému a vytvoření instance uživatelského rozhraní ze souboru .storyboard . Pokud se vývojář pokusil získat přístup k ovládacímu prvku popisku před úplným načtením a vytvořením instance souboru .storyboard , zobrazí NullReferenceException se chyba, protože ovládací prvek popisku ještě neexistuje.
Dále přidejte kód, který odpoví uživateli kliknutím na tlačítko. Do třídy přidejte následující částečnou metodu ViewController :
partial void ClickedButton (Foundation.NSObject sender) {
// Update counter and label
ClickedLabel.StringValue = string.Format("The button has been clicked {0} time{1}.",++numberOfTimesClicked, (numberOfTimesClicked < 2) ? "" : "s");
}
Tento kód se připojí k akci vytvořené v Xcode a Tvůrce rozhraní a bude volána kdykoli uživatel klikne na tlačítko.
Testování aplikace
Je čas sestavit a spustit aplikaci, abyste měli jistotu, že běží podle očekávání. Vývojář může sestavit a spustit vše v jednom kroku nebo ho může sestavit, aniž by ho spustil.
Pokaždé, když je aplikace sestavená, může vývojář zvolit, jaký typ sestavení chce:
- Ladění – Sestavení ladění se zkompiluje do souboru .app (aplikace ) s řadou dalších metadat, která vývojářům umožňují ladit, co se děje, když je aplikace spuštěná.
- Vydání – Build verze také vytvoří soubor .app , ale neobsahuje informace o ladění, takže je menší a spustí se rychleji.
Vývojář může v levém horním rohu obrazovky Visual Studio pro Mac vybrat typ sestavení z výběru konfigurace:
Sestavení aplikace
V případě tohoto příkladu chceme jenom sestavení ladění, aby bylo vybráno ladění . Aplikaci sestavte jako první stisknutím ⌘B nebo v nabídce Sestavení zvolte Sestavit vše.
Pokud nedošlo k žádným chybám, zobrazí se na stavovém řádku Visual Studio pro Mac zpráva o úspěšném sestavení. Pokud došlo k chybám, projděte si projekt a ujistěte se, že výše uvedené kroky proběhly správně. Začněte potvrzením, že kód (v Xcode i v Visual Studio pro Mac) odpovídá kódu v kurzu.
Spuštění aplikace
Aplikaci můžete spustit třemi způsoby:
- Stiskněte kombinaci kláves ⌘+Enter.
- V nabídce Spustit zvolte Ladit.
- Klikněte na tlačítko Přehrát na panelu nástrojů Visual Studio pro Mac (těsně nad Průzkumník řešení).
Aplikace se sestaví (pokud ještě není sestavená), spustí se v režimu ladění a zobrazí hlavní okno rozhraní:
Pokud na tlačítko kliknete několikrát, měl by se popisek aktualizovat s počtem:
Kde na další
Základní informace o práci s aplikací Xamarin.Mac najdete v následujících dokumentech, abyste lépe porozuměli:
- Úvod do scénářů – 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 Tvůrce rozhraní Xcode.
- Windows – tento článek popisuje práci s Windows a panely v aplikaci Xamarin.Mac. Popisuje vytváření a údržbu Windows a panelů v tvůrci Xcode a rozhraní, načítání Windows a panelů ze souborů .xib pomocí Windows a odpovídání na Windows v kódu jazyka C#.
- Dialogy – Tento článek popisuje práci s dialogy a modálními Windows v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou modálních Windows v Xcode a Tvůrci rozhraní, práce se standardními dialogy, zobrazením a reagováním na Windows v kódu jazyka C#.
- Výstrahy – Tento článek popisuje práci s výstrahami v aplikaci Xamarin.Mac. Popisuje vytváření a zobrazování výstrah z kódu jazyka C# a odpovídá na výstrahy.
- Menus - Menus are used in various parts of a Mac application's user interface; z hlavní nabídky aplikace v horní části obrazovky, aby se zobrazily místní a kontextové nabídky, které se můžou objevit kdekoli v okně. Nabídky jsou nedílnou součástí uživatelského prostředí aplikace pro Mac. Tento článek popisuje práci s Cocoa Menus v aplikaci Xamarin.Mac.
- Panely nástrojů – Tento článek popisuje práci s panely nástrojů v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou. Panely nástrojů v tvůrci Xcode a rozhraní, jak vystavit položky panelu nástrojů kódu pomocí výstupů a akcí, povolit a zakázat položky panelu nástrojů a nakonec reagovat na položky panelu nástrojů v kódu jazyka C#.
- Zobrazení tabulek – Tento článek popisuje práci se zobrazeními tabulek v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou zobrazení tabulek v Xcode a Tvůrci rozhraní, jak vystavit položky zobrazení tabulky kódu pomocí výstupů a akcí, naplnění položek tabulky a nakonec reagovat na položky zobrazení tabulky v kódu jazyka C#.
- Zobrazení osnovy – Tento článek popisuje práci se zobrazeními osnovy v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou zobrazení osnovy v Xcode a Tvůrci rozhraní, jak vystavit položky zobrazení osnovy kódu pomocí výstupů a akcí, naplnění položek osnovy a nakonec reakce na položky zobrazení osnovy v kódu jazyka C#.
- Zdrojové seznamy – Tento článek popisuje práci se zdrojovými seznamy v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou zdrojových seznamů v Xcode a Tvůrci rozhraní, jak vystavit položky zdrojových seznamů kódu pomocí výstupů a akcí, naplnění položek zdrojového seznamu a nakonec reagovat na položky zdrojového seznamu v kódu jazyka C#.
- Zobrazení kolekcí – Tento článek popisuje práci se zobrazeními kolekcí v aplikaci Xamarin.Mac. Zabývá se vytvářením a údržbou zobrazení kolekcí v Xcode a Tvůrci rozhraní, jak vystavit prvky zobrazení kolekce kódu pomocí výstupů a akcí, naplnění zobrazení kolekce a nakonec reagovat na zobrazení kolekce v kódu jazyka C#.
- Práce s obrázky – Tento článek popisuje práci s obrázky a ikonami v aplikaci Xamarin.Mac. Popisuje vytváření a údržbu imagí potřebných k vytvoření ikony aplikace a použití obrázků v kódu jazyka C# i v Tvůrci rozhraní Xcode.
Galerie ukázek pro Mac obsahuje příklady kódu připravené k použití, které vám pomůžou naučit se Xamarin.Mac.
Jedna kompletní aplikace Xamarin.Mac, která obsahuje řadu funkcí, které uživatel očekává, že najde v typické aplikaci Mac, je ukázková aplikace 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 z klíčových technologií nebo metod relevantních informací v dokumentaci K Xamarin.Mac.
Souhrn
Tento článek popisuje základy standardní aplikace Xamarin.Mac. Zahrnoval vytvoření nové aplikace v Visual Studio pro Mac, návrh uživatelského rozhraní v Xcode a Tvůrci rozhraní, vystavení prvků uživatelského rozhraní pro kód jazyka C# pomocí výstupů a akcí, přidání kódu pro práci s prvky uživatelského rozhraní a nakonec sestavení a testování aplikace Xamarin.Mac.





































