выбор определенных изображений в UIScrollview - PullRequest
1 голос
/ 09 января 2011

У меня есть прокрутка, в которой есть изображения, добавленные как подпредставления.Мне нужно иметь возможность выбрать или нажать на изображения.другими словами, захватить название изображения постучал.пожалуйста, смотрите мой код ниже.

for (j = 1; j <= 12; j++)
{
    NSString *imageName = [NSString stringWithFormat:@"%@",[months objectAtIndex:j-1]];
    NSLog(@"imagename is %@",imageName);
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];


    CGRect rect = imageView.frame;

    rect.size.height = smallScrollObjHeight;
    rect.size.width = smallScrollObjWidth;
    imageView.frame = rect;
    imageView.tag = j;  
    [smalltapRecognizer setNumberOfTapsRequired:1];
    [smalltapRecognizer setDelegate:self];
    [imageView addGestureRecognizer:smalltapRecognizer];
    [smalltapRecognizer release];*/
    NSLog(@"tag value is %d ",imageView.tag);
    [monthscroll addSubview:imageView];
    [imageView release];
}   


[self layoutsmallScrollImages];
UITapGestureRecognizer *smalltapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(smalltapped:)];
[smalltapRecognizer setNumberOfTapsRequired:1];
[smalltapRecognizer setDelegate:self];
[monthscroll addGestureRecognizer:smalltapRecognizer];
[smalltapRecognizer release];

// ----------------------------

- (void) smalltapped: (id) sender {NSLog (@ "tapped");// Нужно знать, как действовать дальше.}

моя программа обнаруживает касание и печатает журнал касаний в функции smalltapped.Мне нужно знать, как я могу захватить название выбранных или постучавших изображений.

Ответы [ 2 ]

1 голос
/ 09 января 2011

Почему бы вам просто не использовать кнопки UIB в вашем scrollView?Таким образом, вы можете использовать стандартные методы UIButton, вам не нужно беспокоиться о распознавателях жестов, и вы сможете увидеть изображение на нажатой кнопке.

0 голосов
/ 01 октября 2013

Свяжите уникальное значение тега с каждым экземпляром UIImageView:

В viewDidLoad или везде, где инициализируются ваши изображения:

myImageView1.tag = 1;
myImageView2.tag = 2;
myImageView3.tag = 3;

, затем попробуйте жест или что-то вроде:

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event       
{
UITouch *touch = [[event allTouches] anyObject];
int t = [touch view].tag;
UIImageView *imageView = (UIImageView *) [self.view  viewWithTag:t];
//your logic here since you have recognized the imageview on which user touched
}

не пробовал что-то подобное раньше, но это, вероятно, должно работать.

Редактировать: я скопировал и вставил этот код из своего ответа на другой похожий вопрос здесь Так что отрегулируйте условия в соответствии ск вашим требованиям, пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...