我添加到滚动视图的按钮有一个奇怪的行为。
for (UIView *subview in self.scrollView.subviews) {
[subview removeFromSuperview];
}
//Create and place info Button(s)
for (int i = 0; i < BigPictures.count; i++) {
UIButton *infoButton = [[UIButton alloc] initWithFrame:CGRectMake(scrollView.frame.size.width*(i+1) - 29 - 5 - 10, scrollView.frame.size.height - 29 - 5, 29, 29)];
[infoButton addTarget:self action:@selector(flip) forControlEvents:(UIControlEvents)UIControlEventTouchUpInside];
//[infoButton setEnabled:YES];
//[infoButton setUserInteractionEnabled:YES];
[self.scrollView addSubview:[FrontViews objectAtIndex:i]];
[infoButton setBackgroundImage:[UIImage imageNamed:@"btn_image-info.png"] forState:UIControlStateNormal];
[scrollView addSubview:infoButton];
BigPictures 包含我想在滚动视图中显示的所有图像。现在到奇怪的事情。如果 BigPictures 包含 1 个图像,则调用动作(翻转)。只要 [BigPictures count] > 1,第一张图片上的按钮就不会执行操作,但所有其他按钮(第 2-n 页)都会执行。所以这怎么可能??
即使我改变for (int i = 0; i < BigPictures.count; i++)
了for (int i = 0; i < 1; i++)
,按钮也可以工作。
那么我错过了什么?已经尝试过类似的东西
scrollView.delaysContentTouches = NO;
scrollView.canCancelContentTouches = NO;
但后一个禁用滚动视图的滚动。
编辑:我尝试将其他按钮放在不同的位置,但它们都不能在第一页上工作(如果页面 > 1)。还尝试放置一个 GestureRecognizer。这有效,if ([touch.view isKindOfClass:[UIButton class]])
但未检测到下方的按钮。在滚动视图的其他页面上一切正常。真的很奇怪。