In dit artikel wil ik het hebben over het werken met gebruikersinterfaces in elementen voor Cocoa.
zoals u weet, is de Cocoa compiler een native compiler voor de Objective-C runtime, wat betekent dat het direct werkt met de klassen die worden geleverd door Apple ‘ s Cocoa en Cocoa Touch frameworks. Dit strekt zich uit van low-level klassen zoals NSString
of NSArray
tot de high-level visuele componenten gebaseerd op NSView
(Mac) en UIView
(iOS).
een veel voorkomende manier voor Mac en (vooral) iOS apps om te werken met UI is om gewoon de nodige views en controles die deel uitmaken van een app UI van code. Maar vroeg of laat, vooral bij het omgaan met meer complexe of geavanceerde gebruikersinterfaces, zult u de visuele ontwerper willen gebruiken. Dit werkt volgens dezelfde principes, of u nu Xcode/Objective-C of elementen gebruikt.
Mac-en iOS-interfaces zijn ontworpen in Interface Builder, die vanaf versie 4 van Xcode Direct is geïntegreerd in de Xcode-IDE, en wanneer u met elementen werkt, zult u met uw interfaces werken, waarbij u dezelfde ervaring en dezelfde kracht en flexibiliteit van UI-ontwerp krijgt die ontwikkelaars met behulp van Objective-C krijgen.
Er zijn twee bestandsformaten die worden gebruikt voor het ontwerpen van UI op Apple ‘ s platform – het oudere XIB-formaat en het nieuwere Storyboard-formaat. De principes voor het omgaan met deze bestanden zijn vergelijkbaar, en omwille van de eenvoud verwijzen we vaak naar “XIB-bestanden” op plaatsen waar zowel XIBs als Storyboards worden behandeld.
- Wat zijn XIB-bestanden?
- Hoe zijn Storyboard-bestanden anders dan XIBs?
terminologie: XIB vs. NIB?
in deze sectie wordt gesproken over XIB-bestanden, maar veel van de methoden voor het werken met XIB-bestanden noemen allemaal NIBs. Wat is daarmee?
XIBs zijn een nieuwere, op XML gebaseerde indeling die wordt gebruikt voor de gebruikersinterface tijdens het ontwerp. Wanneer u uw app compileert, worden de XIB-bestanden geconverteerd naar binaire NIB-bestanden voor u, en die binaire versies van de bestanden worden ingebed in uw app. Alle API ‘ s werken met deze bestanden van voor het nieuwe formaat (en, tijdens runtime, alleen werken met de oudere penpunt formaat), dat is waarom alle methode namen verwijzen naar penpunt, niet XIB. Wanneer u rond Namen, je nooit nodig hebt om (of moet) de bestandsextensie toch opgeven, dus dit is een onderscheid dat je grotendeels kunt negeren (tenzij je wilt gaan spelunking in uw .app bundle).