torbenH
Mitglied
Thread Starter
- Dabei seit
- 28.01.2006
- Beiträge
- 21
- Reaktionspunkte
- 0
Hallo zusammen,
ich arbeite gerade das Hillegass Buch durch. Im Augenblick Kapitel 17, in dem eigene Views eingeführt werden.
Subclass von NSView ist erstellt, im IB einen Custom-View als einziges Element in ein Fenster (NSWindow) gezogen, Klasse angepasst, Autosizing des Views so eingestellt, dass er mit dem Fenster in alle Dimensionen wächst. Ebenfalls Autosizing des Content-Views des NSWindow angepasst.
drawRect: des Views sieht jetzt wie folgt aus:
Schön und gut, der eigene View wird grün dargestellt. Was mich jetzt nur stört und am weiter arbeiten hindert ist die Tatsache, dass rect.size.width immer(!) 0.0 bleibt. Der Wert soll aber später als Grenze für Zufallszahlen dienen.
Wenn ich das NSWindow in der laufenden Applikation in der Größe ändere, wird immer rect.size.height angepasst.
Lustig ist jetzt: Wenn ich das Fenster breiter ziehe, ändert sich der Wert in rect.size.height, rect.size.width bleibt 0. Immer. Wenn ich das Fenster nach unten vergrößere, ändert sich garnichts.
Kurzer Konsolen-Mitschnitt:
Bis dato habe ich das Fenster breiter gezogen. Ab jetzt die Y-Achse:
Ich verstehe die Welt nicht mehr, kann mir jemand einen Tipp geben, wo ich nach meinem Fehler suchen könnte? Ich habe auch schon alles verworfen und neu erstellt. Ich finde auch keinen Tippfehler. Verknüpfungen im IB wären laut Buch noch keine zu erstellen gewesen.
Bugs im Framework würde ich mal eher nicht annehmen...
Ciao...
ich arbeite gerade das Hillegass Buch durch. Im Augenblick Kapitel 17, in dem eigene Views eingeführt werden.
Subclass von NSView ist erstellt, im IB einen Custom-View als einziges Element in ein Fenster (NSWindow) gezogen, Klasse angepasst, Autosizing des Views so eingestellt, dass er mit dem Fenster in alle Dimensionen wächst. Ebenfalls Autosizing des Content-Views des NSWindow angepasst.
drawRect: des Views sieht jetzt wie folgt aus:
Code:
- (void)drawRect:(NSRect)rect {
NSRect bounds = [self bounds];
NSLog(@"Rect Origin: %d:%d, Size: %f:%f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
[[NSColor greenColor] set];
[NSBezierPath fillRect:bounds];
}
Wenn ich das NSWindow in der laufenden Applikation in der Größe ändere, wird immer rect.size.height angepasst.
Lustig ist jetzt: Wenn ich das Fenster breiter ziehe, ändert sich der Wert in rect.size.height, rect.size.width bleibt 0. Immer. Wenn ich das Fenster nach unten vergrößere, ändert sich garnichts.
Kurzer Konsolen-Mitschnitt:
Code:
[Session started at 2009-08-06 22:59:17 +0200.]
2009-08-06 22:59:18.061 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:440.000000
2009-08-06 22:59:21.125 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:441.000000
2009-08-06 22:59:21.306 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:442.000000
2009-08-06 22:59:21.807 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:443.000000
2009-08-06 22:59:22.408 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:444.000000
2009-08-06 22:59:22.976 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:445.000000
2009-08-06 22:59:24.296 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:446.000000
2009-08-06 22:59:24.731 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:447.000000
2009-08-06 22:59:25.483 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:448.000000
Code:
2009-08-06 22:59:27.371 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:448.000000
2009-08-06 22:59:27.838 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:448.000000
2009-08-06 22:59:28.273 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:448.000000
2009-08-06 22:59:28.590 ImageFun[3320:10b] Rect Origin: 0:0, Size: 0.000000:448.000000
Ich verstehe die Welt nicht mehr, kann mir jemand einen Tipp geben, wo ich nach meinem Fehler suchen könnte? Ich habe auch schon alles verworfen und neu erstellt. Ich finde auch keinen Tippfehler. Verknüpfungen im IB wären laut Buch noch keine zu erstellen gewesen.
Bugs im Framework würde ich mal eher nicht annehmen...
Ciao...