2017-04-09 6 views
0

J'ai un problème avec l'utilisation d'un UIVisualEffectView dans un UITableViewCell personnalisé. Lorsque vous appuyez sur la cellule du tableau, la vue d'effet semble activer seule la fonction Vibrance, ce qui n'est pas l'effet souhaité. Vibrancy semble également rester allumé même après avoir navigué vers une autre vue et de retour.UIVisualEffectView et touche à l'intérieur de UITableViewCell

+0

Établissez-vous UIVisualEffectView en code ou en story-board? –

+0

Je l'ai mis dans le Storyboard –

+0

Voulez-vous le définir sur une seule cellule ou une vue de table entière? –

Répondre

1

OK. Je pense que j'ai trouvé une solution. Le problème est avec la sélection par défaut de UITableViewCell. Je pense que vous le code semble familier à ceci:

class CustomTableViewCell: UITableViewCell { 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     selectedBackgroundView = UIView(frame: CGRect(x: -1, y: -1, width: 1, height: 1)) 
     selectedBackgroundView?.backgroundColor = .clear 
    } 
} 

et l'effet est http://pl.tinypic.com/player.php?v=o00z1k&s=9#.WOpT5VLUTMU

mais un petit changement d'un code:

class CustomTableViewCell: UITableViewCell { 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     selectionStyle = .none 
    } 
} 

et l'effet vibrance disparaîtra.

Remarque, vous pouvez définir via story-board

enter image description here

+0

Cela a bien fonctionné! Merci! –

+0

Vous êtes les bienvenus. –