J'essaie d'ajouter un effet de flou à ma vue. J'ai créé l'effet de flou comme siL'effet de flou n'apparaît pas dans UITableViewCell
let blurLabel: UIVisualEffectView = {
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
return blurEffectView
}()
Puis-je ajouter à la sous-vue comme si, et mettre en place les contraintes avec aussi bien
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)
let view = tableViewCell
addSubview(view)
view.addSubview(blurLabel)
blurLabel.leftAnchor.constraint(equalTo: self.leftAnchor,constant:0).isActive = true
//blurLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: 178).isActive = true
blurLabel.widthAnchor.constraint(equalToConstant: 375).isActive = true
blurLabel.heightAnchor.constraint(equalToConstant: 180).isActive = true
Mais quand je lance l'application elle ne présente pas apparaît à tous
Cela ne devrait pas être nécessaire. Puisque vous utilisez déjà la mise en page automatique, vous devriez pouvoir régler la translateAutoResizingMaskIntoConstraints = false de la vue du flou de façon à ce que la mise en page automatique n'essaie pas de lui donner une largeur et une hauteur nulles (car vous ne l'avez pas initialisée trame de {0, 0, 0, 0}). Comme Arpit l'a dit une possibilité est de définir un nouveau cadre, mais je pense qu'une solution plus propre est d'utiliser autolayout sans cadres explicites. – HAS
Oui, @HAS est correct ici. Ce que vous devez faire est de définir 'translatesAutoResizingMaskIntoConstraints = false'. Oh, oui, il a déjà dit ça: D – Fogmeister