2017-10-05 5 views
1

Ich habe eine Höhe Steckdose für eine Aussicht. Es ist auf 55 eingestellt. In einer Tabellenansicht habe ich es benutzt. Einige, bei denen ich eine statische Höhe benötige, und andere, bei denen keine Höhe erforderlich ist. Also möchte ich diese statische Höhe von meinem Code entfernen.Wie kann ich das erreichen? Ist es möglich?Swift: Wie kann ich die Steckdosen vom Code entfernen?

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) 
     } 
    } 

Selbst i aktiv auf false gesetzt haben, ist es immer noch statische Höhe zeigt constraint.Can i entfernen, dass statische Höhe in sonst Fall ??

+0

'ViewHeight.constant = 65 // StaticValue' gefällt das. –

+0

ich weiß das? Ich frage, wie kann ich diese Einschränkung entfernen, so dass es nicht für sonst Bedingung funktioniert. –

+0

Für mehr Klärung der Frage können Sie mir Bild Ihres Bildschirms zeigen. –

Antwort

2

Wenn Sie die dynamische Größe für anderen Teil wollen, dann müssen Sie Ausgang Einschränkung entfernen Sie dann in Ihrem Code müssen Sie die Einschränkung finden und ändern Sie dann ist es konstant oder entfernen, wenn

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

Kann die Eigenschaft nicht zuordnen. Relation ist nur Eigentum erhalten ..? –

+0

bearbeitet meine Antwort bitte überprüfen –

+0

@jennysam hat es dein Problem gelöst? Lass es wissen, wenn es irgendein Problem gibt, das du bekommst. –

0

Wenn ich verstand pls die korrekte Schreibweise Ihrer Frage, versuchen Sie dies (die Einschränkungen unter der Annahme, für die Zellen korrekt sind)

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 Kommentar, wenn Sie eine bestimmte Zeile nicht haben, und ich werde meine Antwort bearbeiten. Vielen Dank!

+0

Es ist eigentlich nicht was ich fragte :) :) :) es ist nicht über bestimmte Zeile –

Verwandte Themen