On Mar 23, 2009, at 5:47 PM, Corbin Dunn wrote:

On Mar 23, 2009, at 2:35 PM, Ben Lachman wrote:

On Mar 23, 2009, at 10:54 AM, Michael Ash wrote:

On Mon, Mar 23, 2009 at 3:46 AM, Ben Lachman <blach...@mac.com> wrote:
I have a tableview that's neatly wrapped in a scroll view by IB. I manually resize the scrollview whenever a row is added to the tableview so that all the row are always visible. Thus I basically don't need a scroll view. However even though it can't actually scroll the tableview it still eats scroll events when the mouse is over it. I tried ripping the tableview out of the scroll view programatically, but that didn't yield useable results. Is there a straight forward way to have a scroll view pass scroll events on
up the responder chain?

Just subclass NSScrollView, and override -scrollWheel: to call
directly through to NSResponder's implementation and bypass
NSScrollView's implementation.

I was thinking this was easy, but now I'm not so sure.

How do you call through to some arbitrary class in a class's inheritance chain?

It's definitely the way to do it.

Just send it on to [self nextResponder]. that's all!

Ah! Thanks Corbin.  Thats the right (and easy) way to do it.

For the record, this works too (and supports tiger, I'm not sure if Kyle's code does):

- (void)scrollWheel:(NSEvent *)theEvent {
        void (*responderScroll)(id, SEL, id);
        
responderScroll = (void (*)(id, SEL, id))([NSResponder instanceMethodForSelector:@selector(scrollWheel:)]);
        
        responderScroll(self, @selector(scrollWheel:), theEvent);
}

Cheers,
->Ben
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to