Panely nástrojů v Xamarin. Mac
Tento článek popisuje práci s panely nástrojů v aplikaci Xamarin. Mac. Zabývá se vytvářením a údržbou panelů nástrojů v Xcode a Interface Builder, jejich vystavení kódu a jejich používání programově.
vývojáři Xamarin. Mac pracující se Visual Studio pro Mac mají přístup ke stejným ovládacím prvkům uživatelského rozhraní, které jsou k dispozici pro vývojáře macOS, kteří pracují s Xcode, včetně ovládacího prvku toolbar. Protože se Xamarin. Mac integruje přímo s Xcode, je možné použít Interface Builder Xcode k vytváření a údržbě položek panelu nástrojů. Tyto položky panelu nástrojů lze také vytvořit v jazyce C#.
Panely nástrojů v macOS jsou přidány do horní části okna a poskytují snadný přístup k příkazům, které souvisejí s jejími funkcemi. Panely nástrojů můžou být skryté, zobrazovat nebo přizpůsobené uživateli aplikace a můžou prezentovat položky panelu nástrojů různými způsoby.
Tento článek se zabývá základy práce s panely nástrojů a položkami panelu nástrojů v aplikaci Xamarin. Mac.
Než budete pokračovat, přečtěte si článek Hello, Mac – konkrétně Úvod do částí Xcode a Interface Builder a témata a Akce , které se týkají klíčových konceptů a postupů, které se použijí v rámci této příručky.
Podívejte se také na Exposing C# classes / methods to Objective-C oddíl dokumentu Exposing C# classes / methods to Objective-C . Vysvětluje RegisterExport atributy a použité pro připojení tříd jazyka C# ke Objective-C třídám.
Úvod k panelům nástrojů
Každé okno aplikace macOS může obsahovat panel nástrojů:
–
Panely nástrojů poskytují uživatelům aplikace snadný způsob, jak rychle přistupovat k důležitým nebo často používaným funkcím. Například aplikace pro úpravy dokumentu může poskytovat položky panelu nástrojů pro nastavení barvy textu, změnu písma nebo tisk aktuálního dokumentu.
Panely nástrojů mohou zobrazit položky třemi způsoby:
Ikona a text

Pouze ikona
Panel nástrojů Pouze text
Panel text
Přepínejte mezi těmito režimy tak, že kliknete pravým tlačítkem myši na panel nástrojů a v místní nabídce vyberete režim zobrazení:

Pomocí stejné nabídky můžete zobrazit panel nástrojů v menší velikosti:

Tato nabídka také umožňuje přizpůsobení panelu nástrojů:
pomocí
Při nastavování panelu nástrojů v Interface Builder Xcode může vývojář poskytnout další položky panelu nástrojů, které nejsou součástí výchozí konfigurace. Uživatelé aplikace mohou následně přizpůsobit panel nástrojů, přidat a odebrat tyto předem definované položky podle potřeby. Lze samozřejmě obnovit výchozí konfiguraci panelu nástrojů.
Panel nástrojů se automaticky připojí k nabídce zobrazení , která uživatelům umožňuje jeho skrytí, zobrazení a přizpůsobení:
v nabídce zobrazení v nabídce zobrazení
Další podrobnosti najdete v dokumentaci k funkcím integrované nabídky .
Kromě toho, pokud je panel nástrojů správně nakonfigurován v Interface Builder, aplikace automaticky uchová přizpůsobení panelu nástrojů v rámci více spuštění aplikace.
Následující části této příručky popisují, jak vytvořit a spravovat panely nástrojů pomocí Interface Builder Xcode a jak s nimi pracovat v kódu.
Nastavení vlastního řadiče hlavního okna
K vystavení prvků uživatelského rozhraní pro kód jazyka C# prostřednictvím výstupů a akcí musí aplikace Xamarin. Mac používat vlastní kontroler oken:
Otevřete scénář aplikace v Interface Builder Xcode.
Vyberte na návrhové ploše kontroler oken.
Přepněte do inspektoru identity a jako název třídyzadejte "WindowController":
uložte změny a vraťte se do Visual Studio pro Mac k synchronizaci.
soubor WindowController. cs se přidá do projektu v Oblast řešení v Visual Studio pro Mac:

Znovu otevřete scénář v Interface Builder Xcode.
Soubor WindowController. h bude k dispozici pro použití:
Vytváření a Správa panelů nástrojů v Xcode
Panely nástrojů se vytvářejí a udržují pomocí Interface Builder Xcode. Chcete-li přidat panel nástrojů do aplikace, upravte primární scénář aplikace (v tomto případě Hlavní scénář) dvojím kliknutím na něj v oblast řešení:

V inspektoru knihovnyzadejte do vyhledávacího pole "Tool", aby bylo snazší zobrazit všechny dostupné položky panelu nástrojů:

Přetáhněte panel nástrojů do okna v editoru rozhraní. Po výběru panelu nástrojů nakonfigurujte jeho chování nastavením vlastností v inspektoru atributů:

K dispozici jsou následující vlastnosti:
- Zobrazit – určuje, zda se na panelu nástrojů zobrazují ikony, text nebo obojí.
- Viditelné při spuštění – Pokud je vybraná, panel nástrojů je ve výchozím nastavení viditelný.
- Přizpůsobitelná možnost – Pokud je vybraná, můžou uživatelé upravovat a přizpůsobovat panel nástrojů.
- Oddělovač – Pokud je vybraná, tenká vodorovná čára odděluje panel nástrojů od obsahu okna.
- Size – nastaví velikost panelu nástrojů.
- Automatické ukládání – Pokud je tato možnost vybraná, aplikace při spuštění aplikace uchová změny v konfiguraci panelu nástrojů uživatele.
Vyberte možnost automatického ukládání a ponechte všechny ostatní vlastnosti na jejich výchozím nastavení.
Po otevření panelu nástrojů v hierarchii rozhranízobrazte dialog pro přizpůsobení výběrem položky na panelu nástrojů:

Pomocí tohoto dialogového okna můžete nastavit vlastnosti položek, které jsou již součástí panelu nástrojů, navrhovat výchozí panel nástrojů pro aplikaci a poskytnout uživatelům další položky panelu nástrojů pro výběr při přizpůsobení panelu nástrojů. Chcete-li přidat položky na panel nástrojů, přetáhněte je z okna inspektor knihovny:
knihovny inspektor knihovny
Je možné přidat následující položky panelu nástrojů:
Položka panelu nástrojů obrázku – Položka panelu nástrojů s vlastní imagí jako ikonu.
Flexibilní panel nástrojů prostoru – flexibilní prostor, který slouží k zarovnání dalších položek panelu nástrojů Například jedna nebo více položek panelu nástrojů následovaných flexibilní položkou panelu nástrojů a jinou položkou panelu nástrojů by připnout poslední položku na pravou stranu panelu nástrojů.
Položka panelu nástrojů prostoru – pevný prostor mezi položkami na panelu nástrojů
Položka panelu nástrojů oddělovač – viditelný oddělovač mezi dvěma nebo více položkami panelu nástrojů pro seskupení
Přizpůsobení položky panelu nástrojů – umožní uživatelům přizpůsobit panel nástrojů.
Položka panelu nástrojů tisk – umožňuje uživatelům Tisk otevřeného dokumentu.
Položka panelu nástrojů zobrazit barvy – zobrazí standardní výběr systémové barvy:
Systém výběrZobrazit položku panelu nástrojů písma – zobrazí standardní dialogové okno systémových písem:
– výběr
Důležité
Jak bude vidět později, mnoho standardních ovládacích prvků uživatelského rozhraní kakaa, jako jsou vyhledávací pole, segmentované ovládací prvky a vodorovné posuvníky, lze také přidat na panel nástrojů.
Přidání položky na panel nástrojů
Chcete-li přidat položku na panel nástrojů, vyberte panel nástrojů v hierarchii rozhraní a klikněte na jednu z položek, čímž se zobrazí dialogové okno přizpůsobení. V dalším kroku přetáhněte novou položku z inspektoru knihovny do oblasti povolené položky panelu nástrojů :
nástrojů v dialogovém okně panelu nástrojů
Chcete-li se ujistit, že je nová položka součástí výchozího panelu nástrojů, přetáhněte ji na výchozí oblast položek panelu nástrojů :
přetažením
Chcete-li změnit pořadí výchozích položek panelu nástrojů, přetáhněte je doleva nebo doprava.
Dále pomocí inspektoru atributů nastavte výchozí vlastnosti položky:

K dispozici jsou následující vlastnosti:
- Název obrázku – obrázek, který se má použít jako ikona pro položku
- Popisek – text, který se má zobrazit pro položku na panelu nástrojů
- Popisek palety – text, který se má zobrazit pro položku v oblasti povolených položek panelu nástrojů
- Tag – volitelný jedinečný identifikátor, který pomáhá identifikovat položku v kódu.
- Identifikátor – definuje typ položky panelu nástrojů. Vlastní hodnota může být použita k výběru položky panelu nástrojů v kódu.
- Vybratelné – Pokud je zaškrtnuto, bude položka fungovat jako tlačítko pro zapnutí/vypnutí.
Důležité
Přidejte položku do oblasti povolené položky panelu nástrojů , ale ne jako výchozí panel nástrojů k poskytnutí možností přizpůsobení pro uživatele.
Přidání dalších ovládacích prvků uživatelského rozhraní na panel nástrojů
Několik prvků uživatelského rozhraní kakaa, jako jsou vyhledávací pole a segmentované ovládací prvky, lze také přidat na panel nástrojů.
Pokud to chcete vyzkoušet, otevřete panel nástrojů v hierarchii rozhraní a vyberte položku panelu nástrojů a otevřete tak dialogové okno přizpůsobení. Přetáhněte vyhledávací pole z inspektoru knihovny do oblasti povolené položky panelu nástrojů :

Z tohoto místa použijte Interface Builder ke konfiguraci vyhledávacího pole a zpřístupněte ho pro kód prostřednictvím akce nebo zásuvky.
Integrovaná podpora položek panelu nástrojů
Několik prvků uživatelského rozhraní kakaa ve výchozím nastavení komunikuje se standardními položkami panelu nástrojů. Můžete například přetáhnout textové zobrazení do okna aplikace a umístit ho do oblasti obsahu:
uložte dokument, vraťte se do Visual Studio pro Mac pro synchronizaci s Xcode, spusťte aplikaci, vyberte ji a pak klikněte na položku panelu nástrojů barvy . Všimněte si, že zobrazení textu se automaticky pracuje se výběrem barev:

Použití obrázků s položkami panelu nástrojů
Pomocí položky na panelu nástrojů obrázkuse jako ikona může zobrazit libovolný rastrový obrázek přidaný do složky Resources (a kvůli akci sestavení prostředku sady prostředků):
v Visual Studio pro Mac v Oblast řešeníklikněte pravým tlačítkem na složku resources (prostředky ) a vyberte přidatpřidat soubory.
V dialogovém okně Přidat soubory přejděte do požadovaných imagí, vyberte je a klikněte na tlačítko otevřít :
Vyberte Kopírovat, zaškrtněte políčko použít stejnou akci pro všechny vybrané souborya klikněte na OK:

V oblast řešenídvakrát klikněte na MainWindow. xib a otevřete ho v Xcode.
Vyberte panel nástrojů v hierarchii rozhraní a kliknutím na jednu z jeho položek otevřete dialog vlastní nastavení.
Přetáhněte položku panelu nástrojů obrázku z inspektoru knihovny do oblasti povolených položek panelu nástrojů na panelu nástrojů:
Položka panelu nástrojův inspektoru atributůvyberte obrázek, který jste právě přidali v Visual Studio pro Mac:

Nastavte popisek na koš a Popisek palety na Vymazat dokument:

Přetáhněte položku panelu nástrojů oddělovače z inspektoru knihovny do oblasti povolených položek panelu nástrojů na panelu nástrojů:
Přetáhněte položku oddělovače a položku "Koš" na výchozí oblast položky panelu nástrojů a nastavte pořadí položek panelu nástrojů zleva doprava následujícím způsobem (barvy, písma, oddělovač, odpadkový, flexibilní prostor, tisk):
výchozí položkyuložte změny a vraťte se do Visual Studio pro Mac pro synchronizaci s Xcode.
Spusťte aplikaci, abyste ověřili, že se nový panel nástrojů zobrazuje ve výchozím nastavení:

Vystavení položek panelu nástrojů pomocí odbytišť a akcí
Chcete-li získat přístup k položce panelu nástrojů nebo panelu nástrojů v kódu, musí být připojen k výstupu nebo akci:
V oblast řešenípoklikejte na Main. scénář a otevře se v Xcode.
Zajistěte, aby byla vlastní třída "WindowController" přiřazena k hlavnímu řadiči okna v inspektoru identity:
V dalším kroku vyberte položku panelu nástrojů v hierarchii rozhraní:

Otevřete zobrazení asistenta, vyberte soubor WindowController. h a ovládací prvek přetáhněte z položky panelu nástrojů na soubor WindowController. h .
nastavte typ připojení na Action, jako názevzadejte "trashDocument" a klikněte na tlačítko Připojení :
Zpřístupnit textové zobrazení jako výstup s názvem "documentEditor" v souboru soubor viewcontroller. h :
uložte změny a vraťte se do Visual Studio pro Mac pro synchronizaci s Xcode.
v Visual Studio pro Mac upravte soubor soubor viewcontroller. cs a přidejte následující kód:
public void EraseDocument() {
documentEditor.Value = "";
}
Dále upravte soubor WindowController. cs a přidejte následující kód do dolní části třídy:
[Export ("trashDocument:")]
void TrashDocument (NSObject sender) {
var controller = ContentViewController as ViewController;
controller.EraseDocument ();
}
Při spuštění aplikace bude položka panelu nástrojů Koš aktivní:
koše
Všimněte si, že položka panelu nástrojů Koš se teď dá použít k odstranění textu.
Zakázání položek panelu nástrojů
Chcete-li zakázat položku na panelu nástrojů, vytvořte vlastní NSToolbarItem třídu a přepište Validate metodu. Pak v Interface Builder přiřaďte vlastní typ položce, kterou chcete povolit nebo zakázat.
Chcete-li vytvořit vlastní NSToolbarItem třídu, klikněte pravým tlačítkem myši na projekt a vyberte možnost NSToolbarItem>>. Vyberte Obecnéprázdné třídy, jako názevzadejte "ActivatableItem" a klikněte na tlačítko Nový :

Dále upravte soubor ActivatableItem. cs pro čtení následujícím způsobem:
using System;
using Foundation;
using AppKit;
namespace MacToolbar
{
[Register("ActivatableItem")]
public class ActivatableItem : NSToolbarItem
{
public bool Active { get; set;} = true;
public ActivatableItem ()
{
}
public ActivatableItem (IntPtr handle) : base (handle)
{
}
public ActivatableItem (NSObjectFlag t) : base (t)
{
}
public ActivatableItem (string title) : base (title)
{
}
public override void Validate ()
{
base.Validate ();
Enabled = Active;
}
}
}
Dvojitým kliknutím na Main. scénář ho otevřete v Xcode. Vyberte položku panelu nástrojů odpadkového koše vytvořenou výše a v inspektoru identityzměňte její třídu na "ActivatableItem":

Vytvořte zásuvku s názvem trashItem pro položku panelu nástrojů trashItem . uložte změny a vraťte se do Visual Studio pro Mac pro synchronizaci s Xcode. Nakonec otevřete MainWindow. cs a aktualizujte metodu tak, aby se načetla takto:
public override void AwakeFromNib ()
{
base.AwakeFromNib ();
// Disable trash
trashItem.Active = false;
}
Spusťte aplikaci a Všimněte si, že položka odpadkového koše je teď na panelu nástrojů zakázaná:

Souhrn
V tomto článku se podíváme na podrobné zobrazení práce s panely nástrojů a položkami panelů nástrojů v aplikaci Xamarin. Mac. Popisuje, jak vytvořit a spravovat panely nástrojů v Interface Builder Xcode, jak některé ovládací prvky uživatelského rozhraní automaticky pracují s položkami panelu nástrojů, jak pracovat s panely nástrojů v kódu jazyka C# a jak povolit a zakázat položky panelu nástrojů.







