2012-06-26 3 views
2

У меня есть изображение и ImageView, ImageView занимает весь экран, и я хочу изменить размер изображения в соответствии с ImageView. ImageView находится внутри ScrollView с включенной только вертикальной полосой прокрутки, что означает, что изображение должно быть изменено с максимальной шириной, равной ширине экрана (ImageView), в то же время сохраняя соотношение, а не на высоту с измененной высотой. Высота ImageView будет соответствовать размеру изображения, если высота превышает высоту экрана, мы можем использовать полосу прокрутки, чтобы увидеть ее.ImageView ограничивает ширину, но не высоту

Так что я хочу предложения по:

1) Как я могу изменить размер изображения с фиксированной шириной, если исходная ширина меньше желаемому, не требуется изменение размера. Нет ограничений по высоте.

2) Как я могу заставить ImageView автоматически подогнать высоту изображения?

+0

отредактирован уже ... жаль imcompletion –

+0

Это то, что вы хотите : «Меня не интересует исходный размер изображения. Просто масштабируйте равномерно (сохраняйте пропорции) так, чтобы он занимал ширину экрана»? И есть 1) и 2) отдельные вопросы? – nhahtdh

+0

Попробуйте найти этот вопрос http://stackoverflow.com/questions/8854273/resize-image-to-fit-proportions от SO. – carbonr

ответ

0

Во-первых, вы можете рассчитать высоту нового изображения самостоятельно.

(если размер изображения в = (300200), ширина ImageView в = 320, высота нового образа в = 200 * (320/300))

Затем из этой нити The simplest way to resize an UIImage?

Вы можете изменить размер Изображение с новой шириной и высотой.


Всего soultion:

UIImage* i= /* original image */; 
UIImage* j =[self imageWithImage:i scaledToSize:newSize]; //new Image 
[theImageView setImage:j]; 

(И этот код прекрасно работает с прошивкой 4.x)