В Obj-C
imageView.contentMode = UIViewContentModeScaleAspectFill;
установит contentMode.
Почему
imageView.contentMode = UIViewContentModeScaleAspectFill
не работает в Swift?
В Obj-C
imageView.contentMode = UIViewContentModeScaleAspectFill;
установит contentMode.
Почему
imageView.contentMode = UIViewContentModeScaleAspectFill
не работает в Swift?
Несколько смутно, Swift предает префикс для значений enum ObjC:
imageView.contentMode = .scaleAspectFill
Это связано с тем, что Swift уже знает, какой тип перечисления используется. Кроме того, вы также можете указать перечисление:
imageView.contentMode = UIViewContentMode.scaleAspectFill
Примечание. В версиях Swift перед версией 3 необходимо масштабировать "scaleAspectFill".
В быстром языке мы можем установить режим содержимого представления UIImage, например
var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit
TL;DR;
См. ответ кода для Swift 3 внизу.
Примечание. Прокомментируйте, если требуется дополнительная информация.
Пожалуйста, просмотрите более длинный ответ ниже, в котором описано, как использовать решение для установки всех других свойств в вашем файле раскадровки или Xib/Nib.
Нет ничего плохого в других ответах, но я хочу поделиться тем, как значения параметров для объектов могут быть выполнены в Interface Builder. Я знаю, что OP запрашивает код, этот пример просто используется для полноты. Конечно, если кто-то хотел оживить изменения свойств или нуждался в версиях кода, то остальные ответы продолжают применяться.
Внутри Interface Builder
NB - простой способ изучить базовые типы свойств - это Cmd + щелкнуть по свойству в редакторе исходного кода, затем Cmd + щелкнуть по типу для этого свойства.
Вот простой пример, где я устанавливаю некоторые свойства для UIButton, который включает UIImageView в качестве одного из его подзонов. В этом примере показано, как можно установить свойства на верхнем объекте (UIButton) и субобъекте (UIImageView).
Если у вас есть выбранное изображение, просто установите атрибут Runtime User Defined для contentMode типа Number и любое другое значение. Это хороший метод, потому что он будет работать как для Objc, так и для Swift.
Что отличает то, что вы можете использовать один и тот же метод для захвата многих других значений статических свойств для всего, что появляется в Interface Builder.
Документированные значения для перечисления UIViewContentMode
BTW - Swift 3 изменяет значения перечисления, начиная с нижнего регистра, поэтому в Swift 3 будет работать следующее:
imageView.contentMode = .scaleAspectFill
В Swift Language мы можем установить imageView в textField, как показано ниже.
let RightImageView = UIImageView()
RightImageView.image = image
let RightView = UIView()
RightView.addSubview(RightImageView)
RightView.frame = CGRectMake(0, 0, 30,30)
Дайте цвет для просмотра и изображения. Чтобы вы могли проверить свою добавленную позицию изображения в текстовом поле
RightView.backgroundColor = UIColor.redColor()
RightImageView.backgroundColor = UIColor.blueColor()
RightImageView.contentMode = UIViewContentMode.ScaleAspectFill
RightImageView.frame = CGRectMake(0, 0,30,30)
textFieldForCountry.rightView = RightView