ios - 从 ScrollView 返回 NSArray 中的位置

标签 ios objective-c event-handling nsarray

我正在尝试创建一个带有可单击 UIImageView 数组的 ScrollView 。我的目标是,当单击 ImageView 时,它返回它在数组中占据的位置。问题是我不知道如何“捕获”该职位的号码。我怎么做?

到目前为止我已经:

- (IBAction)respondToTapGesture:(UITapGestureRecognizer *)recognizer {

    NSLog(@"%@",)//here is where i want to return the element's position.
}

-(void) preenchemenu {

    [menu setContentSize:CGSizeMake(400, 91)];
    int x=0;
    imagensmenu=[NSArray arrayWithObjects:[UIImage imageNamed:@"teste2.tiff"],[UIImage    imageNamed:@"teste2.tiff"], nil];

    for (int i = 0; i <3; i++) {

        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,0 , 90, 91)];
        x=x+90;
        imageView.image = [imagensmenu objectAtIndex:i];
        imageView.tag = 1000+ i;
        imageView.userInteractionEnabled = YES;
        imageView.multipleTouchEnabled = YES;
        UITapGestureRecognizer *tapRecognizermenu = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(respondToTapGesture:)];
        tapRecognizermenu.numberOfTapsRequired = 1;

        [imageView addGestureRecognizer:tapRecognizermenu];
        [menu addSubview:imageView];
    }
}

最佳答案

您可以创建一个数组来保存 imageView,然后在点击时找到 imageView 在该数组中的位置。

为此添加属性

@property (nonatomic, strong) NSMutableArray *imageViews;

在init中初始化

- (id)init...
{
  self = [super init...
  if (self) {
    _imageViews = [NSMutableArray array];
  }
  return self;
}

然后稍微修改当前的方法,将 imageView 以及菜单的 subview 添加到该数组中

[self.imageViews addObject:imageView];
[menu addSubview:imageView];

然后在你的手势识别器回调中你可以做

- (void)respondToTapGesture:(id)sender;
{
  UIView *view = [sender view];
  NSLog(@"%d", [self.imageViews indexOfObject:view]);
}

关于ios - 从 ScrollView 返回 NSArray 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15341715/

相关文章:

iOS 启动事件指示器只有 1 行

Java - Action 监听器 : Get components from parent

ios - UICollectionView 使用自定义动画更改布局

ios - 使用 iOS SDK 在 Facebook 上发布带有描述的图片

ios - URLSession缓存数据

c# - 窗口最大化后调用的事件

jquery - 使用 $.trigger() 在 jQuery 中触发自定义事件时更改 'this'

ios - CLLocationManager 初始更新不太准确

iOS 选项卡栏项目自定义图像

objective-c - 生成一个随机的 UIColor