v tomto článku chci mluvit trochu o práci s uživatelskými rozhraními v Elements for Cocoa.
Jak víte, Kakao kompilátor je nativní kompilátor pro Objective-C runtime, což znamená, že pracuje přímo s třídami poskytována Apple Kakao a kakaové Touch rámců. To sahá od low-level třídy, například NSString
nebo NSArray
na vysoké úrovni, vizuální komponenty založené kolem NSView
(Mac) a UIView
(iOS).
jeden běžný způsob, jak pro Mac a (zejména) iOS aplikace pro práci s UI je jednoduše vytvořit potřebné pohledy a ovládací prvky, které tvoří uživatelské rozhraní aplikace z kódu. Ale dříve nebo později, zejména při řešení složitějších nebo sofistikovanějších uživatelských rozhraní, budete chtít použít vizuálního návrháře. To funguje na stejných principech, ať už používáte Xcode / Objective-C nebo Elements.
Mac a iOS rozhraní jsou navrženy v Interface Builder, který od verze 4 Xcode je integrované přímo do Xcode IDE, a když pracuje s Prvky, které je místo, kde budete pracovat s rozhraními, dostat stejné zkušenosti a stejnou sílu a flexibilitu designu uživatelského ROZHRANÍ, které vývojáři pomocí Objective-C.
existují dva formáty souborů používané pro navrhování UI na platformě Apple-starší formát XIB a novější formát Storyboard. Zásady pro nakládání s těmito soubory jsou podobné a kvůli jednoduchosti často odkazujeme na „soubory XIB“ v místech, kde jsou pokryty XIB i storyboardy.
- co jsou soubory XIB?
- jak se soubory Storyboard liší od XIB?
terminologie: XIB vs. NIB?
tato část hovoří o souborech XIB, ale mnoho metod pro práci se soubory XIB zmiňuje hroty. Co je s tím?
XIB jsou novější formát založený na XML, který se používá pro uživatelské rozhraní v době návrhu. Při kompilaci aplikace jsou soubory XIB převedeny na binární soubory hrotu pro vás a tyto binární verze souborů jsou vloženy do vaší aplikace. Všechna API pracující s těmito soubory předcházejí novému formátu (a za běhu pracují pouze se starším formátem hrotu), proto všechny názvy metod odkazují na hrot, nikoli na XIB. Když se projít kolem jména, už nikdy nebudete muset (nebo by měl) zadejte příponu souboru, tak je to rozdíl, který můžete do značné míry ignorovat (pokud chcete jít spelunking do .app bundle).