IOS: добавить действие к изображению в push-уведомлении о расширении содержимого

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

1 ответ

Вы можете добавитьUITapGestureRecognizerк вашему изображению и различайте ваши изображения, используя следующее:


Версия цели-C:

      // declare tap gesture
UITapGestureRecognizer *imageTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];

// specify number of taps required
[imageTap setNumberOfTapsRequired:1];
        
// enable user interaction and add the tap gesture + tag for image 1
[imageview1 setUserInteractionEnabled:YES]
[imageview1 addGestureRecognizer:imageTap];
imageview1.tag = 1;
    
// enable user interaction and add the tap gesture + tag for image 2
[imageview2 setUserInteractionEnabled:YES]
[imageview2 addGestureRecognizer:imageTap];
imageview.tag = 2;
      -(void)imageTapped:(UITapGestureRecognizer*)sender {
    if(sender.view.tag == 1) {
        // do something with image 1 here
    } else if (sender.view.tag == 2) {
        // do something with image 2 here
    }
}

Быстрая версия:

      // declare tap gesture
let imageTap = UITapGestureRecognizer(target: self, action: #selector(imageTapped))
    
// specify number of taps required
imageTap.numberOfTapsRequired = 1
                
// enable user interaction and add the tap gesture + tag for image 1
imageView1.isUserInteractionEnabled = true
imageView1.addGestureRecognizer(imageTap)
imageView1.tag = 1
            
// enable user interaction and add the tap gesture + tag for image 2
imageView2.isUserInteractionEnabled = true
imageView2.addGestureRecognizer(imageTap)
imageView2.tag = 2
      @objc func imageTapped(sender: UITapGestureRecognizer) {
    
        if(sender.view!.tag == 1) {
        // do something with image 1 here
        } else if (sender.view!.tag == 2) {
        // do something with image 2 here
        }
    }

Если вы пытаетесь подключить Obj-C к Swift. Добавьте свойtagsв Obj-C и импортируйте файл заголовка Swift, сгенерированный вашими проектами, в файл заголовка Objective-C:

      #import "ProjectName-Swift.h"
Другие вопросы по тегам