我正在尝试开发一个有一些图片的应用程序,所以我做的就像:
@property (nonatomic, retain) IBOutletCollection(UIImageView)NSArray* photos;
我正在填充这些UIImageView
数组:
[self.photos[i] setImage:[UIImage imageWithData:data]];
现在,我需要执行segue,将用户重定向到另一个视图,点击哪个图像。
示例:
假设我有20张图片和View,如果用户点击第一张图片,那么他应该被重定向到查看,如果用户点击第二张,那么相同的视图等等......
答案 0 :(得分:3)
我喜欢在UIImageView上添加掩码按钮以响应用户触摸,但请注意默认情况下UIImageView的userInteractionEnabled为NO
。
下面是示例代码,实际上我们始终将按钮设置为透明。
CGRect imageRect = (CGRect){100, 100, 100, 100};
UIImageView *imageView = [[[UIImageView alloc] initWithFrame:imageRect] autorelease];
imageView.backgroundColor = [UIColor yellowColor];
[self.view addSubview:imageView];
imageView.userInteractionEnabled = YES;
UIButton *maskBtn = [UIButton buttonWithType:UIButtonTypeCustom];
maskBtn.frame = imageView.bounds;
maskBtn.backgroundColor = [UIColor redColor];
[maskBtn addTarget:self action:@selector(maskBtnDidClick:) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:maskBtn];
答案 1 :(得分:1)
如果您正在使用UIImageView,那么要处理点击,您必须创建UITapGestureRecognizer,给它们一个选择器方法,并将它们添加到imageViews,并处理相应选择器中的点击。
更好的方法是使用自定义UIButtons而不是UIImageView,并使用storyboard / xib中的操作直接连接它们,并处理这些操作中的按钮事件。因此,您可以阻止在每个imageView中添加UITapGestures。
答案 2 :(得分:0)
有三种方式
1)您可以使用TapGestures
2)您可以使用UIControl&在UIControl中添加ImageView&给Selector选择UIControl
3)将您的图像添加到自定义UIButton