Hallo,
vorhanden ist ein NSView Subclass (im Screenshot wird der NSView Subclass durch eine NSBox dargestellt). Der NSView Subclass hat ein Subview (in diesem Falle ein Button), den er zentriert in seinen bounds zeichnet.
Nun wüsste ich gerne, wie ich am geschicktesten folgende Aufgabe lösen kann:
Das NSView soll die Fähigkeit erhalten sein SubView (also den Button) zu skalieren. Beim Skalieren soll der Button aber immer mittig innerhalb des Views bleiben. Es soll also nicht bezüglich 0/0 sondern bzgl. der mitte des NSViews skaliert werden.
Das hört sich ja noch recht einfach an und könnte man über ein setBoundsSize: lösen. Nun kommt der Haken:
Der Button soll nicht bzgl. seiner momentanen Größe skaliert werden sondern bzgl. seiner Anfangsgröße (das ist die Größe, die er hatte, als er ein Subview des NSView Subclasses wurde).
Mein gedachter Lösungsweg ist der folgende: Das NSView muss wissen, mit welchem Faktor sie die ursprüngliche Größe des Buttons skalieren muss: bedeutet eine Instanzvariable im NSView.
Der Button (oder das NSView) muss seine (oder die des Buttons) ursprüngliche Größe kennen und dann die transformation auf diese und nicht auf die aktuelle Größe anwenden.
Ist das wieder "von hinten durch die Brust ins Auge" oder gibts da wirklich nichts geschickteres?
vorhanden ist ein NSView Subclass (im Screenshot wird der NSView Subclass durch eine NSBox dargestellt). Der NSView Subclass hat ein Subview (in diesem Falle ein Button), den er zentriert in seinen bounds zeichnet.
Nun wüsste ich gerne, wie ich am geschicktesten folgende Aufgabe lösen kann:
Das NSView soll die Fähigkeit erhalten sein SubView (also den Button) zu skalieren. Beim Skalieren soll der Button aber immer mittig innerhalb des Views bleiben. Es soll also nicht bezüglich 0/0 sondern bzgl. der mitte des NSViews skaliert werden.
Das hört sich ja noch recht einfach an und könnte man über ein setBoundsSize: lösen. Nun kommt der Haken:
Der Button soll nicht bzgl. seiner momentanen Größe skaliert werden sondern bzgl. seiner Anfangsgröße (das ist die Größe, die er hatte, als er ein Subview des NSView Subclasses wurde).
Mein gedachter Lösungsweg ist der folgende: Das NSView muss wissen, mit welchem Faktor sie die ursprüngliche Größe des Buttons skalieren muss: bedeutet eine Instanzvariable im NSView.
Der Button (oder das NSView) muss seine (oder die des Buttons) ursprüngliche Größe kennen und dann die transformation auf diese und nicht auf die aktuelle Größe anwenden.
Ist das wieder "von hinten durch die Brust ins Auge" oder gibts da wirklich nichts geschickteres?
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].