2017-06-15 5 views
0

je le code suivant:Création d'un effet de flou sur un UITableView complet à Swift

if !UIAccessibilityIsReduceTransparencyEnabled() 
    { 
     view.backgroundColor = UIColor(patternImage: UIImage(named: "sunset-photo.jpg")!); 

     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light); 
     let blurEffectView = UIVisualEffectView(effect: blurEffect); 

     blurEffectView.frame = view.bounds; 
     blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]; 

     view.addSubview(blurEffectView); 
    } 
    else 
    { 
     view.backgroundColor = UIColor(red: 110/255, green: 110/255, blue: 110/255, alpha: 1.0); 
    } 

    return view; 
} 

Ceci est bien pour UIViews réglementat mais les rouleaux de vue de la table. Faire glisser vers le bas crée alors un arrière-plan noir et défiler vers le bas montre l'image sans effet de flou. Comment puis-je réparer ça? Nouveau au rapide en passant.

+0

modifier 'blurEffectView.frame = view.bounds' à' blurEffectView.frame = view.frame' – WeiJay

+0

Cela n'a pas fonctionné correctement. – cdub

+0

D'autres idées? Je n'arrive pas à le faire marcher. – cdub

Répondre

0

Définissez la couleur d'arrière-plan du tableau sur. Effacer la couleur

+0

Pouvez-vous spécifier plus? Merci. – cdub

+0

Je pense qu'il veut dire que vous devez définir la couleur de fond de la vue de la table pour effacer, et avoir une vue qui est derrière la vue de la table. La vue derrière la vue de table aurait alors l'image avec l'effet de flou, et vous ne verrez pas de problèmes étranges lorsque la vue de table elle-même défile. – Msencenb