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 Réponses :
Essayez
Qu'est-ce que j'utilise est
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