2013-07-26 5 views
2

Мне нужно изменить размер моего UIImage в соответствии с размером UIImageView. Мое изображение слишком маленькое, поэтому мне нужно его масштабировать. Я не смог это сделать, используя:Установка UIImage в UIImageView

self.firstImage.contentMode = UIViewContentModeScaleAspectFit; 

Помогите.

+1

Пробовали ли вы другие режимы содержания? – Wain

+0

да .. я пробовал .. но ни один из режимов не работал на меня .. однако предложение @ vineet решило мою проблему .. – Shradha

ответ

4

Вам нужно установить рамку своего UIImageView и установить contentMode в один из вариантов изменения размера.

Или вы можете использовать этот метод полезности, если вы на самом деле нужно, чтобы изменить размер изображения:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { 
    //UIGraphicsBeginImageContext(newSize); 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext(); 
    return newImage; 
} 

Или посмотрите на эти ссылки:

http://nanostuffs.com/Blog/?p=586

http://www.abdus.me/ios-programming-tips/resize-image-in-ios/

+0

Спасибо .. Работал для меня .. – Shradha

+0

Я вижу, что этот код размещен повсюду, и это здорово, но я используйте размер рамки uibutton, в который устанавливается изображение, и изображение приобретает размер, если размеры разные. Например, если размер изображения составляет 1200x1600, а рама uibutton - 80x80, изображение изменяется уже. Может кто-нибудь помочь с этим? Благодарю. – Rod

0

попробовать с это:

self.imageView.contentMode = UIViewContentModeScaleAspectFill; 
self.imageView.clipsToBounds = YES; 
+0

clipsToBounds - свойство UIView, а UIImageView расширяет UIView. – Camo

+0

спасибо, что это работает для меня :) –

+0

опечатка: должна быть клипботы для бонусов вместо clipToBounds – BDR

2

В Swift 3.0, это будет

func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage { 

    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) 
    image.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.width)) 
    let newImage : UIImage = UIGraphicsGetImageFromCurrentImageContext()! 
    UIGraphicsEndImageContext(); 
    return newImage; 

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