2013-02-10 4 views
1

Итак, у меня есть UIImageView внутри UIScrollView. Я динамически загружаю изображение в UIImageView, а затем вручную изменяю его размер. Все идет нормально. Но тогда, если я касаюсь прокрутки UIScroll (содержащего измененные элементы), все изменяется до первоначального размера. На всякий случай, вот код, который изменяет размер изображения:UIImageView автоматически изменяет размер, когда UIScrollView постучал

/** 
* Proportionally resize and position doodle 
*/ 
- (void)resizeDoodle:(CGFloat)height { 

self.doodleImageView.frame = CGRectMake(0, 0, self.view.bounds.size.width, height); 
[self.scrollView setContentSize:self.doodleImageView.frame.size]; 
} 

ответ

0
self.Imageview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

И эта линия сохранить изображение, чтобы соответствовать

self.Imageview.contentMode = UIViewContentModeScaleAspectFit; 

Запись выше кода ограничить вашу проблему.

Другой способ:

Используйте следующий метод для конкретной Hight и ширина (Что вы хотите) с изображением

+ (UIImage*)resizeImage:(UIImage*)image withWidth:(int)width withHeight:(int)height 
{ 
    CGSize newSize = CGSizeMake(width, height); 
    float widthRatio = newSize.width/image.size.width; 
    float heightRatio = newSize.height/image.size.height; 

    if(widthRatio > heightRatio) 
    { 
     newSize=CGSizeMake(image.size.width*heightRatio,image.size.height*heightRatio); 
    } 
    else 
    { 
     newSize=CGSizeMake(image.size.width*widthRatio,image.size.height*widthRatio); 
    } 


    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 

Этот метод обратного NewImage, с определенным размером, который вы указываете :)
Этот код может быть вам полезен :)

+0

благодарит за ваш ответ. Это заставило изображение изменить размер пропорционально, но не решило мою проблему. Изображение по-прежнему возвращалось к исходному размеру после того, как я пробовал прокрутку UIScrollView. –

+0

@AndreiTaraschuk - проверить мои отредактированные ?? – iPatel

+0

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

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