In diesem Artikel möchte ich ein wenig über die Arbeit mit Benutzeroberflächen in Elements for Cocoa sprechen.Wie Sie wissen, ist der Cocoa-Compiler ein nativer Compiler für die Objective-C-Laufzeit, was bedeutet, dass er direkt mit den Klassen arbeitet, die von Apples Cocoa- und Cocoa Touch-Frameworks bereitgestellt werden. Dies erstreckt sich von Low-Level-Klassen wie NSString
oder NSArray
zu den High-Level-visuellen Komponenten basierend auf NSView
(Mac) und UIView
(iOS).Eine gängige Methode für Mac- und (insbesondere) iOS-Apps, mit der Benutzeroberfläche zu arbeiten, besteht darin, einfach die erforderlichen Ansichten und Steuerelemente zu erstellen, aus denen die Benutzeroberfläche einer App besteht. Aber früher oder später, besonders wenn es um komplexere oder anspruchsvollere Benutzeroberflächen geht, sollten Sie den Visual Designer verwenden. Dies funktioniert nach den gleichen Prinzipien, unabhängig davon, ob Sie Xcode / Objective-C oder Elements verwenden.
Mac- und iOS-Schnittstellen werden im Interface Builder entworfen, der ab Version 4 von Xcode direkt in die Xcode-IDE integriert ist, und wenn Sie mit Elementen arbeiten, arbeiten Sie dort mit Ihren Schnittstellen und erhalten die gleiche Erfahrung und die gleiche Leistung und Flexibilität des UI-Designs, die Entwickler mit Objective-C erhalten.
Es gibt zwei Dateiformate, die für das Entwerfen von UI auf Apples Plattform verwendet werden – das ältere XIB-Format und das neuere Storyboard-Format. Die Prinzipien für den Umgang mit diesen Dateien sind ähnlich, und der Einfachheit halber beziehen wir uns oft auf „XIB-Dateien“ an Stellen, an denen sowohl XIBs als auch Storyboards behandelt werden.
- Was sind XIB-Dateien?
- Wie unterscheiden sich Storyboard-Dateien von XIBs?
Terminologie: XIB vs. FEDER?
In diesem Abschnitt wird über XIB-Dateien gesprochen, aber viele der Methoden zum Arbeiten mit XIB-Dateien erwähnen alle Schreibfedern. Was soll das?
XIBs sind ein neueres, XML-basiertes Format, das zur Entwurfszeit für die Benutzeroberfläche verwendet wird. Wenn Sie Ihre App kompilieren, werden die XIB-Dateien für Sie in binäre NIB-Dateien konvertiert, und diese binären Versionen der Dateien werden in Ihre App eingebettet. Alle APIs, die mit diesen Dateien arbeiten, sind älter als das neue Format (und funktionieren zur Laufzeit nur mit dem älteren NIB-Format). Wenn Sie Namen weitergeben, müssen (oder sollten) Sie die Dateierweiterung sowieso nie angeben, daher ist dies eine Unterscheidung, die Sie weitgehend ignorieren können (es sei denn, Sie möchten in Ihre Spelunking gehen.b. App-Bundle).