2017-01-31 2 views
0

Я использую Swift 3 и пытаюсь изменить ширину и высоту UIImageView, что внутри XIbSwift не может изменить ImageView рамки внутри XIb UIView

Это мой код:

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 

когда я пытаюсь изменить ImageView кадр, как этот

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

ничего изменить, когда я пытаюсь запустить его, пожалуйста, помогите мне, как решить эту проблему

+0

иметь вы получили правильное изображение в этой строке: пусть imageView = view.viewWithTag (1) как! UIImageView – KKRocks

+0

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

+0

@KKRocks Я уже установил его правильно, я могу без проблем изменить изображение изображения без видимых проблем, просто не могу изменить ширину и высоту – Dirus

ответ

1

я в конечном итоге идентификатор набора для моего ограничения в моем XIb и вызвать его из моего контроллера, как этот

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

и могу контролировать ширину, высоту, х и у от моего контроллера

+0

Очень умный! Но было бы лучше настроить _outlet_ на ограничение ширины. Тогда у вас будет ссылка _direct_, и вы можете просто изменить свою константу мгновенно в любое время. – matt

Смежные вопросы