我正在尝试在Xcode6.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"
的“预期声明”是一个XCode,而我的理解是PNG不需要在PNG 6.1中进行扩展。
我也只尝试了bgImage.image = UIImage(named: "afternoon")
,但仍然得到:
更新
好的,我已经将更新UIImageView
的代码放到了viewDidLoad
函数中,但是UIImageView
仍然没有显示图像(它以afternoon.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)
}
发布于 2014-11-21 23:03:06
由于您已经将bgImage分配和链接为IBOutlet,因此没有必要将其初始化为UIImageView...相反,您需要做的就是设置图像属性,如bgImage.image = UIImage(named: "afternoon")
。运行此代码后,图像看起来很好,因为它已经使用outlet分配了。
但是,如果它不是插座,并且您还没有将它连接到情节提要/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!)
}
}
发布于 2016-09-28 19:54:06
在Xcode8中,你可以直接从选择窗口中选择图像(新的)...
第二张附图),这些图片位于您的图像资源中……或从此处选择其他图像。
发布于 2014-11-21 10:55:30
好的,让它工作起来(以编程的方式创建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)
https://stackoverflow.com/questions/27039140
复制相似问题