gpt4 book ai didi

iphone - 最后一个 imageView 点击了 UIScrollView

转载 作者:行者123 更新时间:2023-11-29 03:39:12 25 4
gpt4 key购买 nike

我使用以下代码将大约 29 个图像添加到 UIScrollView

- (void)setupHorizontalScrollView
{
_scrollViewEffects.delegate = self;

[_scrollViewEffects setCanCancelContentTouches:NO];

_scrollViewEffects.clipsToBounds = NO;
_scrollViewEffects.scrollEnabled = YES;
_scrollViewEffects.pagingEnabled = YES;

NSUInteger nimages = 0;
NSInteger tot=0;
CGFloat cx = 0;
for (; ; nimages++) {
NSString *imageName = [NSString stringWithFormat:@"e%d.png", nimages];
UIImage *imageThumb = [UIImage imageNamed:imageName];

[imageView setTag:nimages];

if (tot==29) {
break;
}
if (4==nimages) {
nimages=0;
}

imageView = [[UIImageView alloc] initWithImage:imageThumb];



UITapGestureRecognizer *singleTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
singleTap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:singleTap];

CGRect rect = imageView.frame;
rect.size.height = 50;
rect.size.width = 50;
rect.origin.x = cx;
rect.origin.y = 0;
imageView.layer.borderColor = [UIColor whiteColor].CGColor;
imageView.layer.borderWidth = 1;
imageView.frame = rect;

[_scrollViewEffects addSubview:imageView];

cx += imageView.frame.size.width+5;
tot++;

}

//self.pageControl.numberOfPages = nimages;

[_scrollViewEffects setContentSize:CGSizeMake(cx, [_scrollViewEffects bounds].size.height)];

[imageView setUserInteractionEnabled:YES];



}

- (void)handleSingleTap:(UIGestureRecognizer *)sender
{
NSLog(@"image tapped!!!");
}

如您所见,UserInteraction 已启用,一切正常,但代码仅检测 UIScrollView 中最后一个图像的点击。怎么了?

最佳答案

移动线

[imageView setUserInteractionEnabled:YES];

进入循环。您设置为仅在循环完成后的最后一张图像上启用用户交互。

关于iphone - 最后一个 imageView 点击了 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com