Próbuję utworzyć interfejs podobny do trampoliny w mojej aplikacji. Próbuję użyć UIButtons dodane do UIScrollView. Problem, na który napotykam, polega na tym, że przyciski nie przechodzą żadnych zmian do UIScrollView - jeśli spróbuję przesuwać/ślizgać się i zdarzyło mi się nacisnąć przycisk, nie rejestruje się on do UIScrollView, ale jeśli poruszę spację między przyciski to zadziała. Przyciski działają/klikam, jeśli ich dotknę.UIScrollview z UIButtons - jak odtworzyć trampolinę?
Czy istnieje właściwość lub ustawienie wymuszające na przycisku wysyłanie zdarzeń dotyku do jego rodzica (superview)? Czy przed dodaniem UIScrollView należy dodać przyciski do czegoś innego?
Oto mój kod:
//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];
//mem-mgmt
[rowsBackground release];
[btn release];
[scrollView release];
Należy zauważyć, że choć Apple wolno go wcześniej, '' 10.4' Aplikacje, które tworzą alternatywne środowiska pulpit/home lub symulują wielowątkowych aplikacji widgetów doświadczenia będą rejected'. Na wypadek, gdyby niektórzy nowoprzybyli planowali wysłać aplikację produkcyjną, która ma własną trampolinę. – user