2017-10-05 9 views
1

J'ai une sortie en hauteur pour une vue. Il est mis à 55. Dans une tableview je l'ai utilisé. Certains où j'ai besoin d'une hauteur statique et d'autres où il ne nécessite pas de hauteur. Donc je veux enlever cette taille statique de mon code. Comment puis-je réaliser ceci? Est-ce possible?Swift: Comment puis-je supprimer les prises du code?

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 
     if(heightIsStatic.count> 0) 
     { 
    //here i require a static height and is working fine as height can 
    //be printed as 55 
     } 
     else 
     { 
      self.ViewHeight.active = false 
      print(self.ViewHeight.constant) 
     } 
    } 

Même j'ai mis actif false, il montre encore la hauteur statique constraint.Can i supprimer cette hauteur statique dans d'autre cas ??

+0

'ViewHeight.constant = 65 // StaticValue' faire comme ceci. –

+0

je le sais? Je demande comment puis-je supprimer cette contrainte afin qu'elle ne fonctionne pas pour d'autres conditions. –

+0

Pour plus d'autorisation de la question pouvez-vous me montrer l'image de votre écran. –

Répondre

2

Si vous voulez la taille dynamique pour une partie d'autre vous devez supprimer la sortie de contrainte alors dans votre code, vous devez trouver la contrainte et changer la constante ou de supprimer si nécessaire

for constraint in view.constraints { 
    if(constraint.firstAttribute == NSLayoutAttribute.height) 
    { 
     constraint.constant = 55 
    } 
} 
+0

Impossible d'affecter la propriété.relation est obtenir uniquement la propriété ..? –

+0

a modifié ma réponse s'il vous plaît vérifier –

+0

@jennysam at-il résolu votre problème? Faites savoir s'il y a un problème. –

0

Si je compris votre question, pls essayez ceci (en supposant que les contraintes de vos cellules sont correctes)

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
if (indexPath.row == 1) { //change this with the row number 
    return 55.0 
} 

return UITableViewAutomaticDimension 
} 

pls commentaire si vous n'avez pas une ligne spécifique et je vais modifier ma réponse. Merci!

+0

Ce n'est pas réellement ce que je demandais :) :) :) son pas à propos de la ligne spécifique –