iPhone UIScrollview with UIButtons - how to recreate springboard?

Posted by Patrick on Stack Overflow See other posts from Stack Overflow or by Patrick
Published on 2009-03-16T13:33:29Z Indexed on 2010/04/28 4:03 UTC
Read the original article Hit count: 844

Filed under:

I'm trying to create a springboard-like interface within my app. I'm trying to use UIButtons added to a UIScrollView. The problem I'm running in to is with the buttons not passing any touches to the UIScrollView - if I try to flick/slide and happen to press on the button it doesn't register for the UIScrollView, but if I flick the space between buttons it will work. The buttons do click/work if I touch them.

Is there a property or setting that forces the button to send the touch events up to its parent (superview)? Do the buttons need to be added to something else before being added the UIScrollView?

Here is my code:

	//init scrolling area
	UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 480, 480)];
	scrollView.contentSize = CGSizeMake(480, 1000);
	scrollView.bounces = NO;
	scrollView.delaysContentTouches = NO;

	//create background image
	UIImageView *rowsBackground = [[UIImageView alloc] initWithImage:[self scaleAndRotateImage:[UIImage imageNamed:@"mylongbackground.png"]]];
	rowsBackground.userInteractionEnabled = YES;

	//create button
      UIButton *btn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
      btn.frame = CGRectMake(100, 850, 150, 150);
	btn.bounds = CGRectMake(0, 0, 150.0, 150.0);
	[btn setImage:[self scaleAndRotateImage:[UIImage imageNamed:@"basicbutton.png"]] forState:UIControlStateNormal];
      [btn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];

	//add "stuff" to scrolling area
	[scrollView addSubview:rowsBackground];
	[scrollView addSubview:btn];

	//add scrolling area to cocos2d
	//this is just a UIWindow
	[[[Director sharedDirector] openGLView] addSubview:scrollView];

	[rowsBackground release];
	[btn release];
	[scrollView release];

© Stack Overflow or respective owner

Related posts about iphone

Related posts about uibutton