-1
votes

Swift Button Image Teinte

J'ai essayé de montrer des icônes de carte dans UialertController, mais lorsque l'image n'a pas d'arrière-plan transparent, je vais obtenir de la couleur grise

   let customView = UIView()
   // customView.translatesAutoresizingMaskIntoConstraints = false
    customView.backgroundColor = .clear

    customView.addConstraint(NSLayoutConstraint(item: customView,
                                                attribute: .height,
                                                relatedBy: .equal,
                                                toItem: nil,
                                                attribute: .notAnAttribute,
                                                multiplier: 1,
                                                constant: 100))


    var marginBtns:CGFloat = 10

    if yandexMap {
        let yandexBtn = UIButton()
        yandexBtn.frame = CGRect(x: marginBtns, y: margin, width: 30, height: 30)
        yandexBtn.setImage(UIImage(named: "yandex")?.withRenderingMode(.alwaysOriginal), for: .normal)
        yandexBtn.sizeToFit()
        yandexBtn.imageView!.layer.cornerRadius = 5
        urlYandexAction = urlYandex
        yandexBtn.addTarget(self, action: #selector(actionYandexBtn), for: .touchUpInside)
        marginBtns += 70
        customView.addSubview(yandexBtn)
        //alert.addAction(alertYandex)
    }
    ...
    let alert = UIAlertController(title: "Open in",
                                  customView: customView,
                                  fallbackMessage: "",
                                  preferredStyle: .actionSheet)
    alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))

    present(alert, animated: true)


3 commentaires

Je ne suis pas sûr à 100%, mais cela pourrait être lié au bogue mentionné dans Cette réponse


@FRAKCOOL Comment puis-je appliquer une réponse à cette question? J'ai besoin de teinte transparente pour l'image et la teinte toujours par défaut pour un autre VC


IDK, j'ai trouvé cette question connexe et la pensée que cela pourrait être utile pour vous, essayez et si cela fonctionne, nous pourrions alors trouver une solution de contournement


3 Réponses :


0
votes

Essayez xxx


0 commentaires

0
votes

Qu'est-ce que j'utilise est xxx


0 commentaires

2
votes

Pour faire de la couleur de teinte de l'image du bouton, l'image doit être rendu comme modèle :

  • par codage: yandexbtn.setimage (uiImage (nommé: "Yandex")?

  • du dossier d'actifs:  Entrez la description de l'image ici


0 commentaires