2017-08-21 1 views
1

Je veux passer entre deux commutateur GONE et VISIBLE que je faisais très facilement sur Android, mais je ne sais vraiment pas quoi faire à ce sujet dans rapide essayez ce code dans l'étiquette gonecomment changer la visibilité GONE et VISIBLE rapide

// set the width constraint to 0 
    let widthConstraint = NSLayoutConstraint(item: self.labelShortDescription, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 0) 
    self.labelShortDescription.addConstraint(widthConstraint) 

// set the height constraint to 0 
    let heightConstraint = NSLayoutConstraint(item: self.labelShortDescription, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 0) 
    self.labelShortDescription.addConstraint(heightConstraint) 
+0

vous dire pour afficher et masquer un objet? –

+0

je veux montrer et allé voir –

Répondre

0

iNVISIBLE:

ce point de vue est invisible, mais il prend encore s l'espace pour la mise en page fins.

Pour ce faire dans iOS:

yourView.alpha = 0 

GONE:

Ce point de vue est invisible, et il ne prend pas de place à des fins de mise en page .

Pour que iOS:

yourView.removeFromSuperview() 
0

Afin de mettre à jour votre vue la visibilité de vous pouvez utiliser la propriété appelée "isVisible"

myCustomView?.isVisible 

Si vous devez voir si la vue fait toujours partie de la hiérarchie de vue, vous pouvez vérifier en utilisant la propriété sous-vues de la super vue qui devrait contenir cette vue

myController.view.subviews.contains(myCustomView) 

D'autres aspects à prendre en considération

myCustomView?.alpha = 0 //(visible but transparent) 
myCustomView == nil //(not initialized)