Направете Dynamic ImageViews възможност за кликване

Работя върху приложение, което динамично изтегля изображенията от папката с изображения и ги показва в ScrollView, много подобно на този учебен код от Apple (вижте метода viewDidLoad):

Всяко изображение се поставя в ImageView. Сега искам да направя всяка картина с възможност за кликване, но тъй като е динамична, не мога да създам фиксирано количество IBActions + би било много повтарящо се и копиране/поставяне, което искам да избегна.

Така че основно този код:

-(IBAction)Fork {
[buttonImageView setImage:[UIImage imageNamed:@"Fork.png"]];
}

но за всяко изображение, което се създава. Особено съм объркан, защото не мога да „свържа“ IBActions към бутона чрез Storyboard.

Оценявам всякаква помощ с кодови съвети, тъй като съм начинаещ.


person ernesto50    schedule 05.10.2012    source източник
comment
Добавете разпознавател на жестове с докосване към вашия изглед на изображение. При натискане има извикан метод. Извикайте същия метод. Във вашия изглед на изображение добавете етикет. Когато методът бъде извикан, потърсете етикета и сте готови.   -  person S.P.    schedule 05.10.2012


Отговори (1)


Вероятно искате щракването да се обработва от едно действие и да подадете изгледа на изображението като подател, където можете да разграничите съответното действие.

Можете да използвате UITapGestureRecognizer, за да започнете бързо:

UIImageView *imageView = ... // However you're creating it
UITapGestureRecognizer *tapper = [[[UITapGestureRecognizer alloc] init] autorelease];
[imageView addGestureRecognizer:tapper];
[tapper addTarget:self action:@selector(handleTap:)];

Внедрете манипулатора на кран като:

- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
    UIImageView *imageView = recognizer.view;
    imageView.image = [UIImage imageNamed:@"Fork.png"];
}

Ако трябва да направите нещо като това да коригира изображението, когато го докоснете, вероятно ще искате да опитате UIButton с персонализирания тип и да зададете изображението съответно. Както и да е, надявам се това да помогне!

person Carl Veazey    schedule 05.10.2012
comment
Благодаря ти, Карл, UITapGestureRecognizer беше точно това, което търсех! - person ernesto50; 07.10.2012
comment
@ernesto50 страхотно, радвам се, че можах да помогна! - person Carl Veazey; 07.10.2012