У меня есть фоновое изображение, которое должно быть такой же ширины, как экран iPhone, но длиннее. Я хочу прокрутить изображение по оси Y.
Я настроил вид прокрутки и поместил изображение внутри, которое отлично работает, так как я могу прокручивать его, чтобы просмотреть. Проблема в том, что изображение огромное - как по вертикали, так и по горизонтали. Я хочу, чтобы изображение соответствовало ширине экрана и не превышало его.
Я создал изображение в Photoshop, используя шаблон 6+ размеров (1242*2208 @ 72ppi) с идеей, что соотношение сторон составляет 16:9 для iPhone 5 и выше, поэтому все, что мне нужно сделать, это установить ограничение, чтобы сохранить соотношение сторон. ratio и другой, чтобы установить ширину, равную ширине прокрутки. Это не имело никакого эффекта, и я не уверен, как действовать дальше.
Это дает мне вид прокрутки, который заполняет экран (правильно!), но внутри него огромное изображение, и мне нужно прокручивать по обеим осям. Я хочу, чтобы изображение изменялось в соответствии с шириной прокрутки/экрана, сохраняя при этом соотношение сторон, поэтому пользователю нужно только прокручивать вверх/вниз.
изменить Я изменил код, чтобы исправить ограничение ширины и добавить режим содержимого для изображения. Это не разрешилось
self.background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"newOrderBack_stg1.png"]];
self.scrollView.contentSize = self.background.bounds.size;
[self.scrollView addSubview:self.background];
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:self.background
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:self.background
attribute:NSLayoutAttributeWidth
multiplier:16.0/9.0
constant:0.0f];
[self.background addConstraint:constraint];
NSLayoutConstraint *widthConstraint = [NSLayoutConstraint
constraintWithItem:self.background
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.scrollView
attribute:NSLayoutAttributeWidth
multiplier:1
constant:0];
[self.scrollView addConstraint:widthConstraint];
self.background.contentMode = UIViewContentModeScaleAspectFill;
Тоже не сработало