Как создать событие клика imageView в iOS? - PullRequest
0 голосов
/ 19 ноября 2018

Примечание: Событие ImageView Click доступно в Android, я хочу знать, доступно ли оно в iOS

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

sample

Мой код:

import UIKit

class AttendanceViewController: UIViewController {

    @IBOutlet weak var loginimagebtn: UIImageView!
    @IBOutlet weak var loginstatus: UITextView!
    @IBOutlet weak var displayloginimg: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func openCamer() {


    if UIImagePickerController.isSourceTypeAvailable(
        UIImagePickerControllerSourceType.camera) {

        let imagePicker = UIImagePickerController()
        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.camera
        imagePicker.allowsEditing = false
        self.present(imagePicker,animated: true,completion : nil)
    }

}

    // For Toast message below code
    func showToast(message : String) {
        let toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 75, y: self.view.frame.size.height-100, width: 150, height: 35))
        toastLabel.backgroundColor = UIColor.black.withAlphaComponent(0.6)
        toastLabel.textColor = UIColor.white
        toastLabel.textAlignment = .center;
        toastLabel.font = UIFont(name: "Montserrat-Light", size: 12.0)
        toastLabel.text = message
        toastLabel.alpha = 1.0
        toastLabel.layer.cornerRadius = 10;
        toastLabel.clipsToBounds  =  true
        self.view.addSubview(toastLabel)
        UIView.animate(withDuration: 4.0, delay: 0.1, options: .curveEaseOut, animations: {
            toastLabel.alpha = 0.0
        }, completion: {(isCompleted) in
            toastLabel.removeFromSuperview()
        })
    }
}

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Вы можете достичь этой функциональности в UIImageView, используя UITapGestureRecognizer . Используйте следующий код в вашем методе viewDidLoad () .

   override func viewDidLoad() {
            super.viewDidLoad()
            let tapGetsure = UITapGestureRecognizer(target: self,
                                                    action: #selector(self.openCamer))
            tapGetsure.numberOfTapsRequired = 1
            loginimagebtn.gestureRecognizers = tapGetsure
            loginimagebtn.isUserInteractionEnabled = true
    }
0 голосов
/ 19 ноября 2018

хорошо, сделайте следующий шаг

Шаг -1

перетаскивание кнопки UI на текущий контроллер вида

Шаг -2

удалить заголовок по умолчанию для вашей кнопки

enter image description here

шаг 3 * ** 1022 тысяча двадцать-один * У UIbutton есть свойство Изображение -> перейти к изображению, добавить вашу камеру. enter image description here

Шаг - 4

перейдите к Инспектор соединений -> выберите событие кнопки вашей камеры из Touch Up Inside и создайте событие для вашей кнопки, например,

enter image description here

опция - 2

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

 let cameraTap = UITapGestureRecognizer(target: self, action: #selector(cameraTapped))
    displayloginimg.isUserInteractionEnabled = true
    displayloginimg.addGestureRecognizer(cameraTap)

и обработайте событие для вашего изображения

 @objc func cameraTapped() {
   // open your camera controller here
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...