2016-12-29 20 views
0

Ich unterrichte mich Swift durch eine praktische Herangehensweise. Ich habe ein einfaches Bild mit einer Höhenbeschränkung mit einer Konstante von 150 im Storyboard. Ich möchte es jedoch programmgesteuert auf 70 ändern.Wie kann ich die Höhe eines UIImageView programmgesteuert ändern?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let tableElement = tableView.dequeueReusableCell(withIdentifier: "FirstTable", for: indexPath) 
    tableElement.BigImage.image = ?? 
    return tableElement 
} 

Ich habe Zugang zu dem Bild, das durch tableElement.BigImage.image tun, und ich möchte die Höhe Eigenschaft, es zu finden und legen Sie es auf 70 habe ich versucht, diese tableElement.BigImage.image.topCapHeight = 70 jedoch, dass ein Fehler gibt. Wie kann ich das machen?

Das ist meine Steckdose es

class myNewCell: UITableViewCell { 

    @IBOutlet weak var BigImage: UIImageView! 


    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 

    override func setSelected(_ selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 

} 

ich zu lernen versuche, wie die Höhe des Bildes programmatisch zu ändern, weil ich zwei verschiedene Reihen von Bildern immer bin und ich mag, dass sie durch die Höhe der Art trennen eine rot/blaue Sache.

+4

erstellen Auslass für die Höhe Einschränkung von Imageview, ändern Sie die Constraint konstant bis 70. Auch Sie versuchen, das Bild zu ändern, anstatt die Höhe Einschränkung von Imageview –

+0

@ New16 Sie kann jede Steckdose für dynamische Zellen machen . – Lumialxk

+0

@Lumialxk OP kann eine Verbindung zu der 'UITableViewCell' für die Höhenbeschränkung der' UIImageView' herstellen und diese entsprechend in 'cellForRow' aktualisieren. – Rikh

Antwort

1

Doppelklicken Sie, um die Abhängigkeit zu bearbeiten. Setzen Sie den Bezeichner dafür.

Und es programmgesteuert finden.

for constraint in UIView().constraints { 
    if constraint.identifier == "your identifier" { 
     // set here 
    } 
} 

aktualisieren
Wie Sie eine benutzerdefinierte Zelle erstellt, eine andere Steckdose hinzuzufügen ist besser. CTRL-DRAG eine Steckdose, so wird es aussehen.

class myNewCell: UITableViewCell { 

    @IBOutlet weak var BigImage: UIImageView! 
    @IBOutlet weak var topCapHeight: NSLayoutConstraint! 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 

    override func setSelected(_ selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 

} 
+0

Vielen Dank das ist genau was ich gebraucht habe –

Verwandte Themen