2017-01-31 3 views
0

Ich verwende Swift 3 und versuche, meine UIImageView Breite und Höhe zu ändern, dass innerhalb xibSwift kann nicht Imageview Rahmen innerhalb xib uiview ändern

Dies ist mein Code:

let view = Bundle.main.loadNibNamed("Custom", owner: self, options: nil)?[0] as! UIView   
view.frame = CGRect(x: CGFloat(i) * self.sView.frame.size.width, y: self.sView.frame.origin.y, width: self.sView.frame.size.width, height: self.sView.frame.size.height)  

let imageView = view.viewWithTag(1) as! UIImageView 

wenn ich versuche, die Imageview Rahmen wie dieser

imageView.frame = CGRect(x: imageView.frame.origin.x, y: imageView.frame.origin.y - 40, width: 200, height: imageView.frame.height) 

nichts ändern zu ändern, wenn ich versuche, es zu laufen, bitte helfen sie mir, wie sie dieses Problem zu beheben

+0

haben Du hast in dieser Zeile ein richtiges Bild angezeigt: lass imageView = view.viewWithTag (1) as! UIImageView – KKRocks

+0

var frame = self. imageView.frame frame.size.width = 100; frame.size.height = 100; selbst. imageView.frame = Rahmen self. imageView .setNeedsDisplay() – karthikeyan

+0

@KKRocks Ich habe es bereits richtig eingestellt, kann ich das Bild der Bildansicht ohne Probleme ändern, kann nur nicht ändern, die Breite und Höhe – Dirus

Antwort

1

I am Ende Set Identifier für meine Einschränkung in meinem XIb und rufen sie von meinem Controller wie diese

for subview in view.subviews { 
      for constraint in subview.constraints as [NSLayoutConstraint] { 
       if constraint.identifier == "imageWidth" { 
        constraint.constant = view.frame.width * 0.5 
       } 
      } 
     } 

und ich kann die Breite steuern, um die Höhe, die x- und y von meinem Controller

+0

Sehr clever! Es wäre jedoch besser, ein _outlet_ für die Breitenbeschränkung zu konfigurieren. Dann hätten Sie einen _direct_ Verweis darauf, und Sie könnten einfach jederzeit seine "Konstante" ändern. – matt

Verwandte Themen