2017-09-13 4 views
0

J'ai un viewcontroller que je montre sous forme de popup. La popup a deux champs de texte avec une liste déroulante (la liste déroulante est une vue de la table qui est sous-vue de superview) .So chaque fois que je montre la liste déroulante, il prend juste la hauteur de popup et la liste déroulante complète n'est pas visible à partir des dernières lignes. Donc je veux montrer la liste déroulante devant toutes les vues de sorte que la liste déroulante complète sera visible et l'utilisateur sera en mesure de sélectionner n'importe quelle valeur. J'ai essayé [self.view bringSubviewToFront:self.tableView]; et self.tableView.layer.zPosition = 1; les deux ne m'a pas aidé. Comment faire ça?Comment puis-je amener la vue de table devant toutes les vues?

Voici la capture d'écran

enter image description here

+0

DonT utiliser zPosition –

+0

oui car il ne contribue pas je l'ai enlevé –

+0

Si je comprends bien ce que vous décrivez, il semble que votre tableview (menu déroulant) est contenu dans le menu contextuel (un autre VC) qui est voir les clips aux limites. Vous pouvez essayer de définir 'clipToBounds' à' YES'. Aussi, vous pourriez essayer de regarder la vue éclatée de votre interface utilisateur et essayer de comprendre le problème à partir de là - cela m'a tiré d'affaire à plusieurs reprises. – CatalinM

Répondre

0

Ajouter tableView à la fenêtre.

let window = UIApplication.sharedApplication().keyWindow! window.addSubview(tableView)

+0

Je l'ai déjà essayé. Pas de changement –

+0

Vous devez augmenter la hauteur du popup au moment où la vue déroulante s'ouvre. Vous pouvez calculer la hauteur de la fenêtre en multipliant la hauteur de la cellule par le nombre total d'éléments dans la vue par table. J'espère que cette aide –

+0

Je ne peux pas faire cela parce que le popup devrait être de hauteur fixe –