Программно настраивать изображение с помощью UIImageView с Xcode 6.1/Свифт

Я'м пытаясь установить программно с помощью UIImageView в Xcode 6.1:

@IBOutlet weak var bgImage: UIImageView!

var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)

Но в Xcode говорит, что "ожидается декларации" с bgImage = помощью UIImageView(изображения: изображения) Изображения на"после обеда"в это PNG, а в моем понимании ПНГ не нужна пристройка в Xcode 6.1.

Также пробовал просто bgImage.изображение = объектами UIImage(по имени: с "днем", У)`, но:

Обновление

ОК, я поставил код, чтобы обновить помощью UIImageView в метод viewDidLoad функция, но помощью UIImageView по-прежнему не показывает изображение (которое существует в директории, как днем.ПНГ):

@IBOutlet weak var bgImage: UIImageView!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    updateTime()
    var timer = NSTimer()
    let aSelector : Selector = "updateTime"
    timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)

    var image : UIImage = UIImage(named:"afternoon")!
    bgImage = UIImageView(image: image)
}
Комментарии к вопросу (3)
Решение

Поскольку у вас есть свой bgImage назначены и связаны как IBOutlet, нет необходимости инициализировать его как помощью UIImageView... вместо этого все, что вам нужно сделать, это установить свойство изображения как bgImage.изображение = объектами UIImage(по имени: с "днем" - а)`. После выполнения этого кода, изображение появилось штрафа, поскольку он уже был назначен через розетку.

Однако, если бы это было'т отдушину и вы не'т уже подключен к объекта UIImageView на файл раскадровки/xib, то вы могли бы так что-то вроде следующего...

class ViewController: UIViewController {
    var bgImage: UIImageView?

    override func viewDidLoad() {
        super.viewDidLoad()

        var image: UIImage = UIImage(named: "afternoon")!
        bgImage = UIImageView(image: image)
        bgImage!.frame = CGRectMake(0,0,100,200)
        self.view.addSubview(bgImage!)
    }
}
Комментарии (0)

В Xcode 8 вы можете напрямую выбрать изображение из окна выбора (новое)...

  • Вам просто нужно ввести - то "изображения" и вы получите предложение коробка выберите"в буквальном изображения" из списка (см. прикрепленное изображение) и

  • затем нажмите на площади, вы сможете увидеть все изображения(см. В второе прикрепленное изображение), которые в своих активах изображения... или выберите другие изображения оттуда.

  • Теперь нажмите на квадрат - (вы увидите, что квадрат После выбора выше вариант)

Комментарии (1)

ОК, получил это работает с этим (создание с помощью UIImageView программно):

var imageViewObject :UIImageView

imageViewObject = UIImageView(frame:CGRectMake(0, 0, 600, 600))

imageViewObject.image = UIImage(named:"afternoon")

self.view.addSubview(imageViewObject)

self.view.sendSubviewToBack(imageViewObject)
Комментарии (0)

Как насчет этого;

myImageView.image=UIImage(named: "image_1")

где image_1 в папку assets как image_1.ПНГ.

Этот работал для меня, так как я'м через корпус переключателя для отображения изображения слайда.

Комментарии (0)

Этот код находится в неположенном месте:

var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)

Вы должны поместить его внутри функции. Я рекомендую переместить его в метод viewDidLoad функция.

В общем, только код вы можете добавить в класс, что's не внутри функции являются объявления переменных как:

@IBOutlet weak var bgImage: UIImageView!
Комментарии (1)

С SWIFT синтаксис этот работал для меня :

    let leftImageView = UIImageView()
    leftImageView.image = UIImage(named: "email")

    let leftView = UIView()
    leftView.addSubview(leftImageView)

    leftView.frame = CGRect(x: 0, y: 0, width: 40, height: 40)
    leftImageView.frame = CGRect(x: 10, y: 10, width: 20, height: 20)
    userNameTextField.leftViewMode = .always
    userNameTextField.leftView = leftView
Комментарии (0)

В Swift 4, Если изображение возвращается в ноль.

Нажмите на картинку, с правой стороны (утилиты) -> проверки целевого членство

Комментарии (0)

Если вы хотите сделать это, как вы показали в вашем вопросе, это способ сделать это инлайн

class YourClass: UIViewController{

  @IBOutlet weak var tableView: UITableView!
  //other IBOutlets

  //THIS is how you declare a UIImageView inline
  let placeholderImage : UIImageView = {
        let placeholderImage = UIImageView(image: UIImage(named: "nophoto"))
        placeholderImage.contentMode = .scaleAspectFill
        return placeholderImage
    }()

   var someVariable: String!
   var someOtherVariable: Int!

   func someMethod(){
      //method code
   }

   //and so on
}
Комментарии (0)

Вам просто нужно перетащить книги, создать розетку действий, связать его и предоставить изображение (XCode это будет выглядеть в свои "активы" папку для указанного имени (здесь: с "Торонто", у))

В ваш_проект/файл ViewController.Свифт

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var imgView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        imgView.image = UIImage(named: "toronto")
    }
}
Комментарии (0)