Moin!
Diesmal nur als Hinweis für andere - die vielleicht wie ich nicht vorausschauend in die AppKit Release Notes von macOS 14 „Sonoma“ geschaut haben:
Ich habe bisher in der drawRect-Methode einer Custom View innerhalb des übergebenen Rechtecks gezeichnet - weil eigentlich nur dieses „dirty“ ist - und mich nicht um die Bounds gekümmert. Erfolgreich seit 15 Jahren.
Das Ganze bricht mit macOS 14, weil besagtes Rechteck nun über die Bounds hinaus gehen kann und der Default von Views nun
Mattes
Diesmal nur als Hinweis für andere - die vielleicht wie ich nicht vorausschauend in die AppKit Release Notes von macOS 14 „Sonoma“ geschaut haben:
Ich habe bisher in der drawRect-Methode einer Custom View innerhalb des übergebenen Rechtecks gezeichnet - weil eigentlich nur dieses „dirty“ ist - und mich nicht um die Bounds gekümmert. Erfolgreich seit 15 Jahren.
Das Ganze bricht mit macOS 14, weil besagtes Rechteck nun über die Bounds hinaus gehen kann und der Default von Views nun
clipToBounds = false
ist. Die Effekte können optisch interessant sein, wenn man z. B. rect mit einer Farbe füllt.Leicht zu beheben, aber die Verwirrung war erstmal gross … und ich habe mal wieder keine Idee, warum Apple diesen Default wählt.Apple schrieb:
- Filling the dirty rect of a view inside of -drawRect. A fairly common pattern is to simply rect fill the dirty rect passed into an override of NSView.draw(). The dirty rect can now extend outside of your view’s bounds. This pattern can be adjusted by filling the bounds instead of the dirty rect, or by setting clipsToBounds = true.
Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.