Zó werken views

Swift

Eén van de termen die je regelmatig zult tegenkomen als je met Xcode en Swift aan de slag gaat, is view. Een app is opgebouwd uit één of meer views. Een view is een rechthoek van willekeurige afmetingen, waarin informatie kan worden getoond. Het witte scherm dat je ziet als je een Single View App in Xcode start, is ook zo’n view: eentje die het gehele scherm van de iPhone beslaat en waarvan de achtergrondkleur wit is.

Zoals gezegd: alles wat je op het scherm van een iPhone/iPad ziet, bestaat uit één of meer views. De controls (buttons, sliders, spinners enzovoort) die je ziet, zijn dus ook views, die op hun beurt weer uit een aantal subviews bestaan. Een view kan dus één of meer subviews hebben, maar een view heeft altijd maar één superview (de view waar hij van afstamt).

Een (wat vereenvoudigd) voorbeeld zie je in de volgende afbeelding: een iPhone-app met slechts één button.

DraggedImage

De knop is een subview van de hoofd-view (in het Engels main view genoemd) van onze app: de view met de witte achtergrondkleur. De tekst op de knop is een subview van de knop zelf. Er is dus sprake van drie views:

De tekst Knop! is in dit voorbeeld een subview van de knop zelf. De knop zelf is dus de superview van de tekst Knop!. De knop zelf is een subview van de hoofd-view van onze app: deze hoofd-view is dus de superview van de knop. In de volgende afbeelding zie je daarvan een schematische weergave.

DraggedImage-1

Nog een voorbeeld zie je hieronder: een app met twee knoppen, Knop 1 en Knop 2.

DraggedImage-2

Onze hoofdview heeft nu twee subviews: twee knoppen. Beide knoppen hebben elk ook weer een subview: de tekst die erop staat. Schematisch ziet de view-hiërarchie er nu dus als volgt uit:

DraggedImage-3
  • De hoofd-view heeft twee subviews: Knop 1 en Knop 2.
  • Knop 1 heeft één subview: de tekst Knop 1. Ook Knop 2 heeft één subview: de tekst Knop 2.
  • De tekst Knop 1 heeft geen subviews. Wel heeft deze tekst een superview: Knop 1 zelf.
  • De tekst Knop 2 heeft ook geen subviews, maar wel een superview: Knop 2 zelf.
  • De knoppen Knop 1 en Knop 2 hebben beide dezelfde superview: de hoofd-view.

Sta gerust wat langer stil bij de begrippen subview (een view die deel uitmaakt van een andere view) en superview (de view waarvan de huidige view deel uitmaakt): als je aan de slag gaat met Swift en iOS, komt je ze namelijk nog tientallen malen tegen.

Dit artikel komt uit (het eerste hoofdstuk van) het eBook Apps bouwen met Swift. Klik hier voor meer informatie.