i denne artikkelen vil jeg snakke litt om å jobbe med brukergrensesnitt I Elements For Cocoa.Som du vet, Er Cocoa compiler en innfødt kompilator For Objective-C runtime, noe som betyr at den fungerer direkte med klassene som Tilbys Av Apples Cocoa Og Cocoa Touch-rammer. Dette strekker seg fra klasser på lavt nivå som NSString
eller NSArray
til visuelle komponenter på høyt nivå basert rundt NSView
(Mac) Og UIView
(iOS).En vanlig måte For Mac og (spesielt) iOS-apper å jobbe med BRUKERGRENSESNITT er å bare lage de nødvendige visningene og kontrollene som utgjør en apps BRUKERGRENSESNITT fra kode. Men før eller senere, spesielt når du arbeider med mer komplekse eller sofistikerte brukergrensesnitt, vil du bruke visual designer. Dette fungerer på de samme prinsippene, enten Du bruker Xcode / Objective-C eller Elements.Mac-og iOS-grensesnitt er utformet I Interface Builder, som fra versjon 4 Av Xcode er direkte integrert I Xcode IDE, og når du arbeider med Elementer, det er der du vil jobbe med grensesnittene dine, få samme opplevelse og samme kraft og fleksibilitet I UI-design som utviklere som bruker Objective-C får.Det er to filformater som brukes til å designe UI På Apples plattform-det eldre XIB-formatet og det nyere Storyboard-formatet. Prinsippene for å håndtere disse filene er like, og for enkelhets skyld refererer vi ofte til «XIB-filer» på steder der Både Xib og Storyboards er dekket.
- Hva ER XIB-Filer?
- Hvordan Er Storyboard-Filer annerledes Enn XIBs?
Terminologi: XIB vs NIB?
denne delen snakker OM XIB-filer, men mange av metodene for å jobbe med XIB-filer nevner Alle NIBs. Hva er det med det?
XIBs Er et NYERE, XML – basert format som brukes for BRUKERGRENSESNITTET på designtidspunktet. NÅR du kompilerer appen din, konverteres XIB-filene til binære NIB-filer for deg, og de binære versjonene av filene er innebygd i appen din. Alle Apier som arbeider med disse filene, er eldre enn det nye formatet (og under kjøring fungerer bare med det eldre NIB-formatet), derfor refererer alle metodenavnene TIL NIB, ikke XIB. Når du passerer navn, trenger du aldri (eller bør) angi filtypen uansett, så dette er et skille som du i stor grad kan ignorere (med mindre du vil gå spelunking inn i din .app bundle).