使用XCode 6.1 / Swift以编程方式将图像设置为UIImageView
我想在XCode 6.1中以编程方式设置UIImageView:
@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(image: image) “预期的声明”图像"afternoon"是一个PNG,我的理解是PNG不需要在XCode 6.1扩展。 
 也试过只是bgImage.image = UIImage(named: "afternoon") ,但仍然得到: 

UPDATE
 好的,我已经把代码更新UIImageView到viewDidLoad函数,但UIImageView仍然没有显示的图像(它存在于基地目录下午.png): 
  @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) } 
	
 既然你有你的bgImage分配和链接为一个IBOutlet,没有必要将其初始化为一个UIImageView …所有你需要做的就是设置图像属性像bgImage.image = UIImage(named: "afternoon") 。 运行此代码后,图像显示正常,因为它已被分配使用sockets。 

但是,如果它不是一个出口,你没有它已经连接到故事板/ xib文件上的UIImageView对象,那么你可以像下面的东西…
 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!) } } 
在xcode 8中,您可以直接从select窗口(NEW)中select图像…
- 
你只需要input“image”,你会得到一个build议框,然后从列表中select“Image Literal”(见附图) 
- 
然后点击广场,你将能够看到所有的图像(见英寸 
 第二张附加的图片),它们位于您的图片资源中…或者从那里select其他图片。
  
 
- 现在点击方框 – (select上面的选项后,你会看到方框)
  
 
好吧,得到它的工作(编程创buildUIImageView):
 var imageViewObject :UIImageView imageViewObject = UIImageView(frame:CGRectMake(0, 0, 600, 600)) imageViewObject.image = UIImage(named:"afternoon") self.view.addSubview(imageViewObject) self.view.sendSubviewToBack(imageViewObject) 
这个怎么样;
 myImageView.image=UIImage(named: "image_1") 
其中image_1位于资源文件夹中,名称为image_1。 png 。
这工作对我来说,因为我使用开关箱来显示图像幻灯片。
这段代码出错了:
 var image : UIImage = UIImage(named:"afternoon")! bgImage = UIImageView(image: image) bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200) view.addSubview(bgImage) 
 你必须把它放在一个函数里面。 我build议将其移动到viewDidLoad函数中。 
通常,你可以在类中添加的不在函数内部的唯一代码是variables声明,如:
 @IBOutlet weak var bgImage: UIImageView! 
在Swift 4中,如果图像返回为零。
点击图片,在右侧(实用工具) – >检查目标成员
用快速的语法,这对我工作:
  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