2016-06-10 3 views
2

J'ai ajouté une forme objet UIVisualEffectView Bibliothèque d'objets dans Xcode au-dessus de mon tableView dans le storyboard. La première cellule de tableView est derrière l'objet UIVisualEffectView. Je veux afficher la première cellule de la vue de la table sous la zone de flou. Aussi, lorsque je fais défiler les cellules du tableau, il devrait aller derrière la zone de flou. J'ai essayé avec ce codeAjout UIVisualEffectView à tableView dans rapide

self.tableView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0) 
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(100, 0, 0, 0) 

Mais quand je défiler envers les cellules ne vais pas aller derrière la zone de flou. Aide

Je tente aussi de changer la couleur de la région de flou. Actuellement son blanc pour l'effet de lumière et noir pour l'effet sombre. Comment puis-je définir une couleur spécifique pour flouter la zone sans affecter son comportement?

+0

J'ai posté une réponse. Une autre solution est de ne pas utiliser UITableViewController, utilisez plutôt UIViewController. Ajoutez la vue de table et la vue de flou en tant que sous-vues pour voir la vue racine du contrôleur, la vue de flou est en haut et en haut sur la vue de table. –

Répondre

1

Vôtre cellule ne peut pas aller à l'extérieur de la table. Vous devez donc étendre la tableView, puis ajouter contentInset.

Assurez-vous également que votre tableView est transparente et visualEffectView est sous le tableView.

+0

Bonjour. J'essaie de changer la couleur du flou View à une couleur spécifique dire rouge. Je l'ai fait en changeant la couleur de fond de l'UIVisualEffectView et en réduisant légèrement la valeur alpha en dessous de 1.0. Mais l'effet désiré du flou est parti. Est-ce qu'il y a un autre moyen ? – iPhoneDeveloper

+0

bien, vous avez probablement besoin de "jouer" avec la luminosité des couleurs. – DoN1cK

+0

Je l'ai vu cet effet de flou échoue lorsque la couleur de fond est noir ou toute autre couleur foncée. – iPhoneDeveloper

0

méthode simple est de vous UIVisualEffectView comme vue table en mode tête de section, par exemple

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
    let blurEffect = UIBlurEffect(style: .Light) 
    let blurView = UIVisualEffectView(effect: blurEffect) 
    return blurView 
} 

override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 
    return 44.0 
} 

il ressemble enter image description here

+0

Merci beaucoup. Ça m'a aidé . Oui, j'ai utilisé le contrôleur de vue et j'ai ajouté la vue de table et la vue floue en tant qu'entités séparées. – iPhoneDeveloper

+0

Bonjour @ J.Hunter. J'essaie aussi d'ajouter une vue floue en bas de l'écran (pas en bas de la table). Mais quand j'ajoute une vue floue à la vue principale, elle cache toute la vue de la table. Je veux un type d'effet de vue en-tête flou en bas de mon écran (pas en pied de tableau). De l'aide ? – iPhoneDeveloper

+0

Bonjour. Je voudrais informer que j'ai résolu le problème que j'avais demandé. J'ai ajouté des objets UIVisualEffectView en haut et en bas de l'écran en définissant les contraintes appropriées pour chacun d'entre eux. – iPhoneDeveloper