2014-01-06 3 views
2

Как растянуть PNG, чтобы соответствовать всему 4-дюймовому экрану. Мое фоновое изображение идеально подходит для 3,5-дюймового экрана, но оно слишком мало, чтобы соответствовать новому 4-дюймовому экрану. (Как ни странно, он подходит для 3,5 " экран точно)Stretch iOS background image

ответ

3

следующий метод UIImage позволит вам создать новый UIImage, который вы можете использовать, чтобы сделать изображение, которое будет растягиваться:.

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode 

для параметра resizingMode вы хотите указать UIImageResizingModeStretch, и это сделает ваше изображение растянутым. Таким образом, вы можете сделать следующее:

UIImage *stretchableBackground = [background resizableImageWithCapInsets:UIEdgeInsetsMake(0,0,0,0) resizingMode:UIImageResizingModeStretch]; 

Установите это изображение в качестве фонового изображения, и оно должно растягиваться должным образом.

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

2

Если вы хотите сохранить текущее соотношение сторон, вы должны использовать атрибут UIViewContentModeScaleAspectFit. Это заполнит экран, но не исказит изображение.

imageView.contentMode = UIViewContentModeScaleAspectFit; 

В противном случае используйте UIViewContentModeScaleToFill.

imageView.contentMode = UIViewContentModeScaleToFill;