2015-12-01 4 views
2

У меня есть размер UIImageView (width = screensize, height = 239). Теперь я загружу изображение размером (width = 1366 и height = 445).UIImageView Изменение размера/масштабирование - SWIFT

Я не могу использовать Aspect Fit (из-за белого фона) или Scale (закручивает пропорции). Я хочу использовать Aspect Fill и выровнять его определенным образом - например, заполнение вправо по выравниванию по правому краю или по размеру на левой стороне. Кто-нибудь знает как это сделать?

Я использовал разные библиотеки, такие как Тукан, но я не могу заставить его работать. Спасибо, куча СО.

ответ

1

Вы можете использовать SDWebImage или Kingfisher показать шаблонное изображение и для кэширования ... Затем в завершении блока написать код, чтобы изменить размер ImageView

@IBOutlet weak var yourImageView: UIImageView! 

func loadImage(){ 

SDWebImageManager.sharedManager().downloadImageWithURL(imgURL, options: SDWebImageOptions.CacheMemoryOnly, progress: { (received, expected) -> Void in 

    }) { (theImage : UIImage!, error : NSError!, cacheType : SDImageCacheType!, bool : Bool, imageUrl : NSURL!) -> Void in 

     let aspect = theImage.size.width/theImage.size.height 

     self.aspectConstraint = NSLayoutConstraint(item: self.yourImageView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: self.yourImageView, attribute: NSLayoutAttribute.Height, multiplier: aspect, constant: 1.2) 

     self.yourImageView.image = theImage 
    } 
}//loadImage 


var aspectConstraint: NSLayoutConstraint? { 

    willSet { 

     if((aspectConstraint) != nil) { 
      self.yourImageView.removeConstraint(self.aspectConstraint!) 
     } 
    } 

    didSet { 

     if(aspectConstraint != nil) { 
      self.yourImageView.addConstraint(self.aspectConstraint!) 
     } 

    } 

} 

Надеется, что это помогает.

+0

Кажется хорошим решением для меня. То, что я делал, масштабировало uiimage до высоты uiimageview и просто переключалось между .center, .left и .right. Однако возьму ваш ответ. –

+0

Рад, что я мог бы помочь! –

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