Suchen und Finden
Service
Infos und Kontakt
Bildschirmdarstellungen mit NSView (S. 212-213)
NSView ist die Basisklasse von Cocoa, mit der die Ansichten auf dem Bildschirm erzeugt werden. Dabei liefert uns Apple bereits eine große Anzahl von Subklassen mit. Diese haben wir auch schon ständig verwendet, etwa als wir Buttons und Text-Felder benutzt haben. Aufgrund der Wichtigkeit von NSView haben wir diesem Thema ein eigenes Kapitel spendiert.
Views sind ein rechteckiger Bereich, der folgende Aufgaben als Interface zum Benutzer wahrnehmen kann:
<, Zeichnen: Sie stellen die Daten für den Benutzer dar. Hierbei ist es gleichgültig, ob es sich um Zeichen oder graphische Darstellungen handelt.
<, Empfang von Benutzeraktionen, insbesondere Mausklicks.
GRUNDLAGEN
Benutzeraktionen (Events) werden von Objekten der Klasse NSResponder verarbeitet. NSView ist eine Subklasse hiervon, erbt also diese Fähigkeit. Weitere Klassen, die von NSResponder abgeleitet sind und daher Events empfangen können sind NSApplication, NSWindow, NSWindowController und NSDrawer. Views sind also Bereiche auf dem Bildschirm, die zur Aus- und Eingabe benutzt werden können.
Struktur
Ausgangspunkt für Views sind Fenster. Fenster reservieren einen Bereich des Bildschirms für die Ein- und Ausgabe. Außerdem sind Fenster hintereinander angeordnet, sodass bestimmt werden kann, wie sich Fenster gegenseitig (teilweise) verdecken und welche Flächen von ihnen sichtbar sind. Man nennt das Z-Ordering. Jeder View gehört zu einem Fenster, welchem er zugeordnet ist. Abfragen kann man das mit der Methode -window des Views. Fenster, und das ist wichtig zu verstehen, zeichnen jedoch nicht selbst. Sie bedienen sich der Views, um Ausgaben zu erledigen. Dabei existiert für jedes Fenster zunächst ein borderView, welches zum einen für das Zeichnen des Fensterrandes verantwortlich ist, zum anderen alle weiteren Views enthält. Denn jeder View kann wiederum Subviews enthalten. Einer dieser Subviews ist das Contentview des Fensters. Hierbei handelt es sich um die untere Fläche ausschließlich der Titellzeile (Titlebar) und der Werkzeugleiste (Toolbar), die von den Anwendungen für die eigentliche Darstellung verwendet wird. Anders als die obere Fläche »gehört« die untere der Anwendung. Titelzeile und Werkzeugleiste werden demgegenüber von dem System verwaltet. Innerhalb dieses Contentviews liegen wiederum als Subviews die einzelnen Elemente des GUI. Dabei können diese wiederum ihrerseits Subviews enthalten. Allerdings geht das Laufzeitverhalten mit steigender Anzahl von Views ziemlich schnell in die Knie. Wir sollten diese Struktur also nicht übertreiben. Eine Möglichkeit, den Performance-Verlust zu vermeiden, sind Cells, die später besprochen werden.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion



















