Use a subclass.
HGGridView.m
#import "HGGridView.h" @interface AQGridView (HGGridView_KnownPrivateStuff) - (void) handleGridViewBoundsChanged:(CGRect)oldBounds toNewBounds:(CGRect)bounds; @end @implementation HGGridView - (void) handleGridViewBoundsChanged:(CGRect)oldBounds...
You know, I was talking to Eliza Block of the Springboard team about this at WWDC last year. Never got around to actually putting it in place, though, and this looks like a much simpler implementation than anything I would have done, too.
Nice work 😊