Если я просто добавлю изображения в 3 раза больше для iOS, произойдет ли автоматическое изменение размера?
Я знаю, если я просто включу image@3x.png
в моем Images.xcassets, что он будет сокращен соответственно, когда мне это понадобится для 1x и 2x ситуаций.
У всех моих пользователей будут фотографии профиля. Я не храню их на телефоне. Достаточно ли хранить на сервере один из них размером 3x и ожидать, что, когда я выберу его в качестве UIImage, он также будет автоматически уменьшен?
2 ответа
Это не будет сокращено. То, что произойдет, это то, что ваше изображение с сервера будет помещено в пространство как есть. Если вы хотите, чтобы мои 2 цента на этом, измените их размер на вашем сервере и загрузите их по мере необходимости.
Зависит от contentMode ( UIViewContentMode) ImageView, где вы представляете их:
ScaleToFill
ScaleAspectFit
ScaleAspectFill
Сожмет изображение, чтобы соответствовать представлению. Другие не будут.(Хотя я теперь не совсем уверен, что делает Redraw)
Из документов: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html
Options to specify how a view adjusts its content when its size changes.
Declaration
SWIFT
enum UIViewContentMode : Int {
case ScaleToFill
case ScaleAspectFit
case ScaleAspectFill
case Redraw
case Center
case Top
case Bottom
case Left
case Right
case TopLeft
case TopRight
case BottomLeft
case BottomRight
}
@3x и @2x просто говорят вам, что изображение должно использоваться с определенной плотностью пикселей экрана, и это не гарантирует, что оно будет соответствовать где-либо.